nRF52840 USB dongle

  • nRF52840
  • ARM M4 64 MHz
  • 1024 KB ROM - 256 KB RAM
  • Bluetooth 5, Mesh
  • 802.15.4, Thread, Zigbee
  • USB 2 GetStarted)

Applications #

nRF52840 Dongle #

Pinout #

Serial Wire Debug #

  • the usb dongle is referred to as PCA10059 which in projects usually shifts the app to offset 0x1000 as openbootloader usage is expected
  • With serial wire debug, it’s possible to flash applications at same address as the PCA10056 which is at address 0x0000


  • LED1 Green : P0.06
  • LED2 Green : P0.08
  • LED2 Green : P1.09
  • LED2 Blue : P0.12

pogo pin adapter #

  • Pogo Pin P75-E2 Dia 1.3mm Length 16.5mm

micro python #

bootloader #

options #

recovery #

  • on nRF SDK recovering the openbootloader mode would then require to reflash the MBR with any project make flash_mbr

  • without nRF SDK, download the bootloader from the nordic tutorial and rename to pca10059_bootloader.hex

then run

J-Link>Power on
cd pca10059_bootloader
>nrfjprog -f nrf52 --eraseall
 >nrfjprog -f nrf52 --chiperase --program pca10059_bootloader.hex --verify --reset

build for USB DFU #

on any sample from nRF Connect that supports the nrf52840dongle_nrf52840 run

cd nrf\v2.3.0\nrf\samples\xxx\
>west build -p always -b nrf52840dongle_nrf52840 -- -DOVERLAY_CONFIG="overlay-usb.conf" -DDTC_OVERLAY_FILE="usb.overlay"

USB DFU command line #

It is possible to use the nRF Connect programmer, but to perform the same with command line, you need to generate a package the flash it as follows

>nrfutil pkg generate --hw-version 52 --sd-req=0x00 --application build/zephyr/zephyr.hex --application-version 1 build/zephyr/
nrfutil dfu usb-serial -pkg build/zephyr/ -p COM8