OpenThread Radio Co-processor design allows to add Thread network capabilities to devices that do not natively support Thread.
You can build and program OpenThread Radio Co-Processor (RCP) firmware onto Nordic Semiconductor's nRF52840 Dongle. Once programmed, the dongle can be used for configuring Thread network on a Linux machine.
Run the following commands to build and program the RCP firmware onto an nRF52840 Dongle:
-
Clone the OpenThread nRF528xx platform repository into the current directory:
$ git clone --recursive https://github.com/openthread/ot-nrf528xx.git
-
Enter the ot-nrf528xx directory:
$ cd ot-nrf528xx
-
Install OpenThread dependencies:
$ ./script/bootstrap
-
Build OpenThread for the nRF52840 Dongle:
$ script/build nrf52840 USB_trans -DOT_BOOTLOADER=USB -DOT_THREAD_VERSION=1.2
This creates an RCP image at
build/bin/ot-rcp
. -
Convert the RCP image to the
.hex
format:$ arm-none-eabi-objcopy -O ihex build/bin/ot-rcp build/bin/ot-rcp.hex
-
Install nRF Util:
$ python3 -m pip install -U nrfutil
-
Generate the RCP firmware package:
$ nrfutil pkg generate --hw-version 52 --sd-req=0x00 \ --application build/bin/ot-rcp.hex \ --application-version 1 build/bin/ot-rcp.zip
-
Connect the nRF52840 Dongle to the USB port.
-
Press the Reset button on the dongle to put it into the DFU mode. Red LED on the dongle starts blinking.
-
To install the RCP firmware package onto the dongle, run the following command, with /dev/ttyACM0 replaced with the device node name of your nRF52840 Dongle:
$ nrfutil dfu usb-serial -pkg build/bin/ot-rcp.zip -p /dev/ttyACM0