# Nordic nRF52

Configuration

  platform = `nordicnrf52`

The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.

For more detailed information please visit vendor site.

Contents

- Tutorials

- Examples

- Debugging

- Stable and upstream versions

- Packages

- Frameworks

- Boards

## Tutorials

- Arduino and Nordic nRF52-DK: debugging and unit testing

- Zephyr and Nordic nRF52-DK: debugging, unit testing, project analysis

## Examples

Examples are listed from Nordic nRF52 development platform repository:

- mbed-blink

- mbed-serial

- zephyr-blink

- mbed-rtos

- mbed-events

- zephyr-net-echo-client

- arduino-blink

- arduino-ble-led

- zephyr-ble-beacon

- mbed-nfc

- zephyr-subsys-nvs

- mbed-dsp

- mbed-ble-thermometer

- arduino-nina-b1-generic-example

- arduino-bluefruit-bleuart

- arduino-serial-plotter

## Debugging

PIO Unified Debugger - “1-click” solution for debugging with a zero configuration.

- Tools & Debug Probes

  - On-Board Debug Tools

  - External Debug Tools

### Tools & Debug Probes

Supported debugging tools are listed in “Debug” column. For more detailed information, please scroll table by horizontal. You can switch between debugging Tools & Debug Probes using debug_tool option in “platformio.ini” (Project Configuration File).

Warning

You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

#### On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.

Name | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | ---
BL652 Development Kit | NRF52832 | 64MHz | 512KB | 64KB
BL654 Development Kit | NRF52840 | 64MHz | 1MB | 256KB
Delta DFBM-NQ620 | NRF52832 | 64MHz | 512KB | 64KB
ElectronutLabs Blip | NRF52840 | 64MHz | 1MB | 256KB
ElectronutLabs Papyr | NRF52840 | 64MHz | 1MB | 256KB
ItsyBitsy nRF52840 Express | NRF52840 | 64MHz | 796KB | 243KB
Makerdiary nRF52832-MDK | NRF52832 | 64MHz | 512KB | 64KB
Makerdiary nRF52840-MDK | NRF52840 | 64MHz | 1MB | 256KB
Nordic nRF52-DK | NRF52832 | 64MHz | 512KB | 64KB
Nordic nRF52840-DK | NRF52840 | 64MHz | 1MB | 256KB
Nordic nRF52840-DK (Adafruit BSP) | NRF52840 | 64MHz | 796KB | 243KB
RedBearLab BLE Nano 2 | NRF52832 | 64MHz | 512KB | 64KB
RedBearLab Blend 2 | NRF52832 | 64MHz | 512KB | 64KB
VNG VBLUno52 | NRF52832 | 64MHz | 512KB | 64KB
u-blox EVK-NINA-B1 | NRF52832 | 64MHz | 512KB | 64KB

#### External Debug Tools

Boards listed below are compatible with PIO Unified Debugger but DEPEND ON external debug probe. They ARE NOT READY for debugging. Please click on board name for the further details.

Name | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | ---
96Boards Nitrogen | NRF52832 | 64MHz | 512KB | 64KB
Adafruit Bluefruit nRF52832 Feather | NRF52832 | 64MHz | 512KB | 64KB
Adafruit Feather Bluefruit Sense | NRF52840 | 64MHz | 796KB | 243KB
Adafruit Feather nRF52840 Express | NRF52840 | 64MHz | 796KB | 243KB
Arduino Nano 33 BLE | NRF52840 | 64MHz | 960KB | 256KB
Bluey nRF52832 IoT | NRF52832 | 64MHz | 512KB | 64KB
Circuit Playground Bluefruit | NRF52840 | 64MHz | 796KB | 243KB
Holyiot YJ-16019 | NRF52832 | 64MHz | 512KB | 64KB
Metro nRF52840 Express | NRF52840 | 64MHz | 796KB | 243KB
Nordic Thingy:52 (nRF52-PCA20020) | NRF52832 | 64MHz | 512KB | 64KB
Particle Argon | NRF52840 | 64MHz | 796KB | 243KB
Particle Boron | NRF52840 | 64MHz | 796KB | 243KB
Particle Xenon | NRF52840 | 64MHz | 796KB | 243KB
SDT52832B | NRF52832 | 64MHz | 512KB | 64KB
Taida Century nRF52 mini board | NRF52832 | 64MHz | 512KB | 64KB
hackaBLE | NRF52832 | 64MHz | 512KB | 64KB

## Stable and upstream versions

You can switch between stable releases of Nordic nRF52 development platform and the latest upstream version using platform option in “platformio.ini” (Project Configuration File) as described below.

### Stable

    ; Latest stable version
    [env:latest_stable]
    platform = nordicnrf52
    board = ...

    ; Custom stable version
    [env:custom_stable]
    platform = nordicnrf52@x.y.z
    board = ...

### Upstream

    [env:upstream_develop]
    platform = https://github.com/platformio/platform-nordicnrf52.git
    board = ...

## Packages

Name | Description
--- | ---
framework-arduino-nrf52-mbedos | Arduino framework supporting mbed-enabled boards (nRF52 core)
framework-arduinoadafruitnrf52 | Arduino Wiring-based Framework (Nordic nRF52 BLE SoC))
framework-arduinonordicnrf5 | Arduino Wiring-based Framework (Nordic NRF5 Core)
framework-mbed | mbed Framework
framework-zephyr | Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
framework-zephyr-canopennode | Zephyr module for CANopenNode - a free and open source CANopen Stack
framework-zephyr-civetweb | Zephyr module CivetWeb Embedded C/C++ web server
framework-zephyr-fatfs | Zephyr module for FATFS filesystem
framework-zephyr-hal-nordic | Nordic nRF5x HAL for Zephyr framework
framework-zephyr-libmetal | Zephyr module for HAL abstraction layer used by open-amp
framework-zephyr-littlefs | Zephyr module for littlefs filesystem
framework-zephyr-loramac-node | Zephyr module for LoRaWAN endpoint stack implementation
framework-zephyr-lvgl | Zephyr module for LittlevGL - an Open-source Embedded GUI Library
framework-zephyr-mbedtls | mbedTLS module for Zephyr
framework-zephyr-mcuboot | Zephyr module for MCUboot - a secure bootloader for 32-bit MCUs
framework-zephyr-mcumgr | Zephyr module for mcumgr management library for 32-bit MCUs
framework-zephyr-mipi-sys-t | Zephyr module for MIPI System Software Trace
framework-zephyr-nrf-hw-models | Zephyr module for NRF52xxx HW models
framework-zephyr-open-amp | Zephyr module for Open Asymmetric Multi Processing (OpenAMP) framework
framework-zephyr-openthread | OpenThread module for Zephyr
framework-zephyr-segger | Zephyr module for Segger RTT
framework-zephyr-tinycbor | Zephyr module for Concise Binary Object Representation Library
tool-bossac-nordicnrf52 | Basic Open Source SAM-BA Application (BOSSA) for nRF52
tool-cmake | CMake is an open-source, cross-platform family of tools designed to build, test and package software.
tool-dtc | Device tree compiler
tool-gperf | GNU gperf is a perfect hash function generator.
tool-jlink | SEGGER J-Link Software and Documentation Pack
tool-ninja | Ninja is a small build system with a focus on speed.
tool-nrfjprog | nRF5x command line tool
tool-openocd | OpenOCD
tool-sreccat | Merging tool
toolchain-gccarmnoneeabi | gcc-arm-embedded

Warning

Linux Users:

> - Install “udev” rules 99-platformio-udev.rules

> - Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

Windows Users:

> Please check that you have a correctly installed USB driver from board manufacturer

## Frameworks

Name | Description
--- | ---
Arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

Mbed

The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

Zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

## Boards

Note

- You can list pre-configured boards by platformio boards command or PlatformIO Boards Explorer

- For more detailed `board` information please scroll the tables below by horizontally.

### 96Boards

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
96Boards Nitrogen | External | NRF52832 | 64MHz | 512KB | 64KB

### Adafruit

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
Adafruit Bluefruit nRF52832 Feather | External | NRF52832 | 64MHz | 512KB | 64KB
Adafruit Feather Bluefruit Sense | External | NRF52840 | 64MHz | 796KB | 243KB
Adafruit Feather nRF52840 Express | External | NRF52840 | 64MHz | 796KB | 243KB
Circuit Playground Bluefruit | External | NRF52840 | 64MHz | 796KB | 243KB
ItsyBitsy nRF52840 Express | On-board | NRF52840 | 64MHz | 796KB | 243KB
Metro nRF52840 Express | External | NRF52840 | 64MHz | 796KB | 243KB

### Arduino

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
Arduino Nano 33 BLE | External | NRF52840 | 64MHz | 960KB | 256KB

### Delta

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
Delta DFBM-NQ620 | On-board | NRF52832 | 64MHz | 512KB | 64KB

### Electronut Labs

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
Bluey nRF52832 IoT | External | NRF52832 | 64MHz | 512KB | 64KB
hackaBLE | External | NRF52832 | 64MHz | 512KB | 64KB

### ElectronutLabs

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
ElectronutLabs Blip | On-board | NRF52840 | 64MHz | 1MB | 256KB
ElectronutLabs Papyr | On-board | NRF52840 | 64MHz | 1MB | 256KB

### Holyiot

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
Holyiot YJ-16019 | External | NRF52832 | 64MHz | 512KB | 64KB

### Laird Connectivity

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
BL652 Development Kit | On-board | NRF52832 | 64MHz | 512KB | 64KB
BL654 Development Kit | On-board | NRF52840 | 64MHz | 1MB | 256KB

### Makerdiary

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
Makerdiary nRF52832-MDK | On-board | NRF52832 | 64MHz | 512KB | 64KB
Makerdiary nRF52840-MDK | On-board | NRF52840 | 64MHz | 1MB | 256KB

### Nordic

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
Nordic Thingy:52 (nRF52-PCA20020) | External | NRF52832 | 64MHz | 512KB | 64KB
Nordic nRF52-DK | On-board | NRF52832 | 64MHz | 512KB | 64KB
Nordic nRF52840-DK | On-board | NRF52840 | 64MHz | 1MB | 256KB
Nordic nRF52840-DK (Adafruit BSP) | On-board | NRF52840 | 64MHz | 796KB | 243KB

### Particle

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
Particle Argon | External | NRF52840 | 64MHz | 796KB | 243KB
Particle Boron | External | NRF52840 | 64MHz | 796KB | 243KB
Particle Xenon | External | NRF52840 | 64MHz | 796KB | 243KB

### RedBearLab

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
RedBearLab BLE Nano 2 | On-board | NRF52832 | 64MHz | 512KB | 64KB
RedBearLab Blend 2 | On-board | NRF52832 | 64MHz | 512KB | 64KB

### Sigma Delta Technologies

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
SDT52832B | External | NRF52832 | 64MHz | 512KB | 64KB

### Taida Century

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
Taida Century nRF52 mini board | External | NRF52832 | 64MHz | 512KB | 64KB

### VNG

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
VNG VBLUno52 | On-board | NRF52832 | 64MHz | 512KB | 64KB

### u-blox

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
u-blox EVK-NINA-B1 | On-board | NRF52832 | 64MHz | 512KB | 64KB