Skip to main content

Create an RCP USB dongle

The RCP dongle uses a $10 nRF52 Dongle from Nordic Semiconductor. Programming this image to the nRF52840 on board turns the mainchipset into a passthrough "modem" for Thread networks, using the 802.15.4 stack from Nordic Semiconductor and the OpenThread project.

Step 1: Obtain supplies

Step 2: Obtain RCP Joiner binary

The RCP Joiner binary will be installed onto the nRF52840 dongle. This will allow the dongle to act as a "modem" for 802.15.4 devices.

Binary download (Preferred)

We recommend you download the binary below and use that to program the nRF52 dongle. There isn't much value in compiling your own binary image for the RCP dongle.

Download ot-rcp.hex (updated 28APR2022)

NOTE: you may need to rename this file ot-rcp.hex after download.

Build your own

If you would still like to compile your own version of the RCP firmware to load onto the nRF52 dongle, we recommend you follow the directions on the OpenThread site.

"Set up the RCP Joiner" on

That tutorial site shows how to create a Thread network without a Border Router, which is out of scope for this demo. We recommend you follow the RCP creation directions and then come back here.

NOTE: You will need the ARM GNU toolchain as explained in "Step 2: Getting Started" guide on that page.

Step 2: Program the dongle

Using the built-in bootloader (Preferred)

Directions borrowed from Zephyr site explaining how to program the dongle

You will need:

  • nrfutil installed on your machine
    • To install using PyPi, use the command pip install nrfutil
nrfutil pkg generate --hw-version 52 --sd-req=0x00 --application ot-rcp.hex --application-version 1
nrfutil dfu usb-serial -pkg -p /dev/ttyACM0


  • The USB port address might be different on your machine

You will need:

  • JLink programmer (nRF52840 can act as programmer)
  • 10 pin tag connect cable

Step 3: Testing the RCP