
Guide Source: ZMK Docs. In this guide is used the Ferris Sweep 34-key split keyboard as an example.
- Nice!Nano Documentation
- ZMK Documentation
- Nice!Nano Discord community
- ZMK Discord community
Prerequisites:
- Windows machine
- GitHub account
- Locally configured git to access your GitHub account
- QMK MSYS
- Installed and configured the
git
version control tool - 2x nice!nano controllers
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)
2. After configuring locally your GitHub account and made sure it is accessible – Open QMK MSYS and paste the command line:
bash -c "$(curl -fsSL https://zmk.dev/setup.sh)"
3. Choose your shield (keyboard). In this example it will be a firmware for the Ferris Sweep which corresponds the number 14) Cradio/Sweep.

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




5. Copy in the stock keymap for customization? [Yn]: y
6. GitHub Repo Name [zmk-config]: zmk-config-ferris
7. GitHub Repo [https://github.com/kriscables/zmk-config-ferris.git]: ‘press enter’
8. 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!): https://github.com/yourGHUsername/zmk-config-ferris.git
Continue? [Yn]: y




9. Username for ‘https://github.com’: ‘enter your github username’




10. Password for ‘https://yourGHUsername@github.com’: ‘do not enter your GH password, but enter your github passkey, will be something like github_pat_89273648kjhbk345as3_s7d8907asd8970asdjh2g3jh12354kjh12Kjhg3‘
11. Your firmware should be available from GitHub Actions shortly: https://github.com/yourGHUsername/zmk-config-ferris/actions




12. Go to your GitHub repo at Actions https://github.com/yourGHUsername/zmk-config-ferris/actions and click the top build from the list: Initial User Config.




13. 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).




14. 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.




15. 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 !



