WIP. keyboard firmware for Nordic Semiconductor nRF52840 MCU, specifically the nice!nano board.
- Download the Nordic SDK from here. Version requirements are currently unknown, but 17.0.2 is known to work
- Extract the downloaded SDK to
sdk/
, and modifySDK_PATH
in theMakefile
accordingly - Install the
arm-none-eabi
toolchain (including binutils and gcc), from here - Ensure that the downloaded toolchain is either (a) in your
$PATH
(eg. asarm-none-eabi-gcc
), or modify the variables in theMakefile
accordingly - Download
adafruit-nrfutil
from here (or install viapip
)
The final folder structure should look something like this:
zkb/
|- kernel/
|- sdk/
|- nrf-sdk-17.0.2/
|- components
|- config
|- ...
- Determine the keyboard you are building for; it should be a folder under
keyboards/
- Run
make keyboard=<keyboard_name>
, egmake keyboard=lily58
This will compile the firmware into a hex file, as well as generate a .zip
package for flashing with adafruit-nrfutil
.
When switching keyboards (ie. building the firmware for another keyboard), you must run make clean
first.
- Place the board into DFU mode (double-tap reset)
- Figure out the path to the device (should be somewhere under
/dev/
) - Run
make flash DEVICE_PATH=/dev/path-to-device
Alternatively, to build and flash simultaneously, you need to explicitly set the name of the keyboard, for example:
$ make flash keyboard=lily58 DEVICE_PATH=/dev/cu.usbmodem14201
This project is licensed under the Apache License, version 2.0. The Nordic SDK is licensed under the Nordic 5-Clause license, but it is not distributed; you must agree to their licensing terms to download the SDK.
No nRF SDK files are distributed with this project.