Posted on

How to compile ZMK Firmware and Flash Nice!Nano Controller

How to compile ZMK Firmware and Flash Nice!Nano Controller

Guide Source: ZMK Docs. In this guide is used the Ferris Sweep 34-key split keyboard as an example.


1. Create a new public or private GitHub repo. For example name: zmk-config-ferris. (Do not check any of the options to initialize the repository with a README or other files)

3. After configuring locally your GitHub account and made sure it is accessible – Open QMK MSYS and paste the command line:

bash -c "$(curl -fsSL"

4. Choose your shield (keyboard). In this example it will be a firmware for the Ferris Sweep which corresponds the number 14) Cradio/Sweep.

5. Select the controller you want to create the firmware. In this guide it is used Nice!Nano v2. Number 4).

6. Copy in the stock keymap for customization? [Yn]: y

8. GitHub Repo Name [zmk-config]: zmk-config-ferris

9. GitHub Repo []: ‘press enter’

10. Preparing a user config for:

  • MCU Board: nice_nano_v2
  • Shield(s): cradio_left cradio_right
  • Copy Keymap?: ✓
  • GitHub Repo To Push (please create this in GH first!):

Continue? [Yn]: y

11. Username for ‘’: ‘enter your github username’

13. Your firmware should be available from GitHub Actions shortly:

14. Go to your GitHub repo at Actions and click the top build from the list: Initial User Config.

15. Download the firmware and unzip it. In case of a split keyboard you’ll have two uf2 files.
One for the left half (master) and another for the right half (slave).

16. Connect Nice!Nano to the PC with a reliable cable. Normally, if it’s the first time being connected it will open automatically the folder and appear in your OS as a new USB storage device.

If it is not the first time or for some reason doesn’t appear as a storage device, then short with metallic tweezers 2x the pins GND and RST on the controller. It should appear as a new USB storage device now.

Copy and paste the respective controller the uf2 file. For the nice!nano on the left keyboard half copy/paste the keyboard_left_nice_nano_v2-zmk.uf2 file, for the right keyboard_right_nice_nano_v2-zmk.uf2 file.

After pasting the folder will automatically close, the storage device disappear and in the Bluetooth & other devices you’ll see the keyboard’s name, if everything was executed successfully.

17. Connect the TRRS between the halves first and only after that the USB-C cable to the master half – left half. By connecting first the USB-C cable and only after the TRRS there is a chance of short to occur and that might fry a controller.

Now should be ready to use !