Nordic nRF52-DK

The nRF52 Development Kit is a single-board development kit for Bluetooth Smart, ANT and 2.4GHz proprietary applications using the nRF52 Series SoC. This kit supports both development for nRF52832 SoCs.

The kit is compatible with the Arduino Uno Revision 3 standard, making it possible to use 3rd-party shield that are compatible to this standard with the kit.

The kit supports the standard Nordic Software Development Tool-chain using Keil, IAR and GCC. The kit also supports ARM mbed tool-chain for rapid prototyping and development using mbed’s cloud-based IDE and tool-chain with an extensive range of open-source software libraries. Program/Debug options on the kit are Segger J-Link Lite for standard tool-chain and CMSIS-DAP for mbed. The kit gives access to all I/O and interfaces via connectors and has 4 LEDs and 4 buttons which are user-programmable. A range of software examples are available from the nRF5 SDK to support Bluetooth Smart, ANT and 2.4GHz applications.



Firmware Update

Firmware Update

The latest mbed interface upgrade file for the nRF52-DK is:

Version 0219.


Please note that there is a behaviour change between this firmware and the J-Link firmware - with the mbed firmware you must press the 'BOOT/RESET' button the board to run your code once it has been downloaded *

To update the firmware:

  1. Unplug DK from the usb or turn power switch off.
  2. Press and hold down the reset button and connect the usb while doing so or turn on power
  3. DK should now enumerate as an MSD named "BOOTLOADER"
  4. Copy the firmware binary to the BOOTLOADER drive.
  5. Wait until the drive dismounts and the mbed LED is flashing continuously
  6. Unplug (or turn off/on) the board and plug in again, and the board should enumerate as usual.

BLE stack

Nordic Semiconductor provides a wireless protocol stack called the SoftDevice. The SoftDevice is precompiled into a binary image and functionally verified according to the wireless protocol specification, so that all you have to think about is creating the application.

compiled binary size

For the default DK mbed target, any mbed build tools (online IDE, mbed CLI) will put the SoftDevice and the user application together into a binary file intended to program your development kit. Be aware of the SoftDevice size – it adds more than a hundred KB to any compiled binaries.

Further information about the type of Nordic’s target is available in github nRF5 ReadMe.

Usage with Arduino shields

The nRF52 Development Kit board has an I/O expander to avoid conflicts with boards that follow the Arduino standard. The on-board GPIOs for the buttons and LEDs would otherwise possibly conflict with such boards.


Mbed shields like many other shields do not expose the ICSP block. For these shields, the pin DETECT of the ICSP connector of NRF52-DK should be grounded manually to disable the I/O expander and release LEDs and buttons GPIOs.

Table 1. GPIO connection
P0.13Button 1D2
P0.14Button 2D3
P0.15Button 3D4
P0.16Button 4D5
P0.17LED 1D6
P0.18LED 2D7
P0.19LED 3D8
P0.20LED 4D9

The I/O expander will release these GPIOs for general use when the nRF52 Development Kit is used together with boards that follow the Arduino standard. As an option the I/O expander can be permanently enabled by shorting solder bridge SB18 or permanently disabled by cutting the shorting track on SB19. You must also short SB18 when cutting SB19 for full compatibility with the Arduino standard.

Other Resources

You can find detailed information about this platform on the nRF52 DK page.

For any nRF52-DK related questions you can also search and post questions on NORDIC DEVELOPER ZONE

Example programs

Examples for nRF52-DK are available via GitHub, e.g. mbed-os BLE examples

Known issues

Impossible to debug or flash an application with IAR using CMSIS-DAP.

  • Description: It is not possible to flash or debug an application with IAR on the Nordic target. This issue is caused by a bad interaction between CMSIS-DAP IF present on the Nordic boards and IAR CMSIS-DAP debug driver.
  • Workaround: The best solution is to switch to the JLINK IF image and configure the IAR project to use it.
    • Download the JLINK IF and install it on the board.
    • Open the exported project in IAR then go to its options.
    • Go to the debugger section
      • In the setup tab choose J-link/J-trace as the debug driver.
      • In the Download tab disable the Use flash loader(s) option.
      • In the Extra options tabs, tick the Use command line options and add the following content: --drv_vector_table_base=0x0

 Buy Now

Please log in to start a discussion or ask a question.


See more related questions