nRF52840 DK


The nRF52840 DK is a low-cost single-board development kit that uses the nRF52840 multi-protocol SoC to develop Bluetooth® 5, Bluetooth mesh, Thread, Zigbee, ANT, IEEE 802.15.4, and 2.4 GHz proprietary applications. It also supports development on the nRF52811 SoC.


Working with the board

Building an application

All Scenarios OS Zephyr flavour is based on Zephyr kernel.

  1. Source the environment with proper template settings, flavour being zephyr and target machine being nrf52840dk-nrf52840:

$ TEMPLATECONF=../oniro/flavours/zephyr . ./oe-core/oe-init-build-env build-oniro-zephyr
  1. You will find yourself in the newly created build directory. Call bitbake to build the image. Example below shows how to build zephyr-philosophers.

$ MACHINE=nrf52840dk-nrf52840 bitbake zephyr-philosophers

You can set up MACHINE variable can be set up in conf/local.conf file under the build directory, or via the command line.

  1. After the build completes, the image file can be found in build-oniro-zephyr/tmp-newlib/deploy/images/nrf52840dk-nrf52840/.

Flashing an application

pyOCD is a required host tool used by the flashing mechanism described below:

  • To install the latest stable version of pyOCD via pip as follows:

$ pip install --pre -U pyOCD


When ValueError: The device has no langid error is displayed due to lack of permission, perform the instructions to resolve.

  • To flash the image, execute the command used to build the image with -c flash_usb appended. For example, to flash the already built zephyr-philosophers image, execute:

$ MACHINE=nrf52840dk-nrf52840 bitbake zephyr-philosophers -c flash_usb