To protect and carry your key, we partnered with a professional designer and we are providing a custom enclosure that can be printed on both professional 3D printers and hobbyist models.
All the required files can be downloaded from Thingiverse including the STEP file, allowing you to easily make the modifications you need to further customize it.
To flash the firmware, run:
./deploy.py --board=nrf52840_dongle_dfu --opensk --programmer=nordicdfu
The script will ask you to switch to DFU mode. To activate that on your dongle, keep the button pressed while inserting the device into your USB port. You may additionally need to press the tiny, sideways facing reset button. The device indicates DFU mode with a slowly blinking red LED.
If you want to use JTAG with the dongle, you need additional hardware.
- a Segger J-Link JTAG probe.
- a TC2050 Tag-Connect programming cable.
- a Tag-Connect TC2050 ARM2010 adaptor
- optionally a Tag-Connect TC2050 retainer clip to keep the spring loaded connector pressed to the PCB.
Follow these steps:
-
The JTAG probe used for programming won't provide power to the board. Therefore you will need to use a USB-A extension cable to power the dongle through its USB port.
-
Connect the TC2050 cable to the pads below the PCB:
-
You can use the retainer clip if you have one to avoid maintaining pressure between the board and the cable:
Run our script for compiling/flashing Tock OS on your device:
$ ./deploy.py --board=nrf52840_dongle_opensk --opensk --programmer=jlink
-
Create your openocd config, named
nordic_nrf52840_dongle.cfg
in the appropriate location:mkdir -p ${HOME}/.openocd/board touch ${HOME}/.openocd/board/nordic_nrf52840_dongle.cfg
Paste the following st-link example and edit the specific setup to your needs:
# Specific setup source [find interface/stlink-dap.cfg] transport select dapdirect_swd # The rest should be kept the same set CHIPNAME nrf52840 source [find target/nrf52.cfg]
-
Test your config:
openocd -f board/nordic_nrf52840_dongle.cfg
-
Run the deploy script with the appropriate options, i.e.:
./deploy.py --board=nrf52840_dongle_opensk --opensk --programmer=openocd
Finally, remove the programming cable and the USB-A extension cable.
The bigger, white button conveys user presence to the application. Some actions like register and login will make the dongle blink, asking you to confirm the transaction with a button press. The small, sideways pointing buttong next to it restarts the dongle.
The 2 LEDs show the state of the app. There are different patterns:
Pattern | Cause |
---|---|
all LEDs and colors | app panic |
green and blue blinking | asking for touch |
all LEDs and colors for 5s | wink (just saying Hi!) |
red slow blink | DFU mode |