Select pre-built NCP firmware images and flashing instructions are provided here to jump-start your OpenThread development. All binaries are the example platform builds featured in the GitHub repository.
See Co-Processor Designs for more information about NCP support.
Nordic Semiconductor nRF52840
Use an i386- or x86-based Linux machine to flash the downloaded nRF52840 firmware image to the nRF52840 board. A Micro-USB to USB is required to attach the board to the Linux machine for flashing and the host development board for operation.
Download nRF52840 firmware image
The pre-built nRF52840 firmware image is a
.hex file. Download and extract it
This nRF52840 firmware image is built with the following build switches:
BORDER_AGENT=1 BORDER_ROUTER=1 COMMISSIONER=1 UDP_FORWARD=1 USB=1 LINK_RAW=1
USB=1 switch enables
USB CDC ACM as a serial transport.
Install SEGGER J-Link
Use SEGGER J-Link to program the nRF52840 board, which has an onboard JTAG
module. Download and install SEGGER J-Link on your Linux machine by extracting
the package into
Install nRF5x Command Line Tools
The nRF5x Command Line Tools flash the OpenThread binary to the nRF52840 board.
Install the appropriate
build on your Linux machine. Place the extracted package in the root folder of
Flash the nRF52840
- Attach the USB cable to the Micro-USB debug port next to the external power
pin on the nRF52840 board, and then attach the USB end to the Linux machine.
Set the nRF power source switch on the nRF52840 board to VDD. When
- Verify that the board is attached by checking for serial ports starting with
/dev/ttyACM*(all nRF52840 boards use
ttyACMas their serial port identifier). The board appears as
/dev/ttyACM0if it's the only nRF52840 board attached to the Linux machine:
- Note the serial number of the nRF52840 board:
- Navigate to the location of the nRFx Command Line Tools, and flash the
ot-ncp-ftd-gae2b0194-nrf52840.hexfile onto the nRF52840 board, using the board's serial number:
./nrfjprog -f nrf52 -s 683704924 --chiperase --program \
LED5on the nRF52840 board briefly turns off during flashing. The following output is generated upon success:
Parsing hex file. Erasing user available code and UICR flash areas. Applying system reset. Checking that the area to write is not protected. Programing device. Applying system reset. Run.
Connect the nRF52840
Because the OpenThread NCP firmware image provided here enables use of native USB CDC ACM as a serial transport, you must use the nRF USB port on the nRF52840 board to communicate with the NCP host board.
- Eject the device from the Linux machine and detach the USB cable from both the Linux machine and the debug port of the nRF52840 board.
- Attach the USB cable to the Micro-USB nRF USB port next to the RESET button on the nRF52840 board. Set the nRF power source switch on the nRF52840 board to USB.
- Attach the USB end of the USB cable to your NCP host board (for example, a Raspberry Pi).