# Nordic nRF51

Configuration

  platform = `nordicnrf51`

The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.

For more detailed information please visit vendor site.

Contents

- Examples

- Debugging

- Stable and upstream versions

- Packages

- Frameworks

- Boards

## Examples

Examples are listed from Nordic nRF51 development platform repository:

- mbed-blink

- mbed-serial

- zephyr-blink

- mbed-events

- arduino-blink

- arduino-ble-led

- zephyr-ble-eddystone

- arduino-internal-libs

- zephyr-drivers-entropy

- mbed-ble-thermometer

## 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
--- | --- | --- | --- | ---
BBC micro:bit | NRF51822 | 16MHz | 256KB | 16KB
Calliope mini | NRF51822 | 16MHz | 256KB | 16KB
Delta DFCM-NNN40 | NRF51822 | 32MHz | 256KB | 32KB
Delta DFCM-NNN50 | NRF51822 | 32MHz | 256KB | 16KB
JKSoft Wallbot BLE | NRF51822 | 16MHz | 128KB | 16KB
Nordic Beacon Kit (PCA20006) | NRF51822 | 32MHz | 256KB | 32KB
Nordic nRF51 Dongle (PCA10031) | NRF51822 | 32MHz | 256KB | 32KB
Nordic nRF51822-mKIT | NRF51822 | 16MHz | 128KB | 16KB
Nordic nRF51X22 Development Kit(PCA1000X) | NRF51822 | 32MHz | 256KB | 32KB
RedBearLab BLE Nano 1.5 | NRF51822 | 16MHz | 256KB | 32KB
RedBearLab nRF51822 | NRF51822 | 16MHz | 256KB | 16KB
Seeed Arch BLE | NRF51822 | 16MHz | 128KB | 16KB
Seeed Arch Link | NRF51822 | 16MHz | 256KB | 16KB
Seeed Tiny BLE | NRF51822 | 16MHz | 256KB | 16KB
Switch Science mbed HRM1017 | NRF51822 | 16MHz | 256KB | 16KB
Switch Science mbed TY51822r3 | NRF51822 | 32MHz | 256KB | 32KB
VNG VBLUNO51 | NRF51822 | 16MHz | 128KB | 32KB
y5 nRF51822 mbug | NRF51822 | 16MHz | 256KB | 16KB

#### 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
--- | --- | --- | --- | ---
BluzDK | NRF51822 | 32MHz | 256KB | 32KB
OSHChip | NRF51822 | 32MHz | 256KB | 32KB
Sino:Bit | NRF51822 | 32MHz | 256KB | 32KB
Waveshare BLE400 | NRF51822 | 32MHz | 256KB | 32KB
ng-beacon | NRF51822 | 16MHz | 256KB | 32KB

## Stable and upstream versions

You can switch between stable releases of Nordic nRF51 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 = nordicnrf51
    board = ...

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

### Upstream

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

## Packages

Name | Description
--- | ---
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-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.

### BBC

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
BBC micro:bit | On-board | NRF51822 | 16MHz | 256KB | 16KB

### BluzDK

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
BluzDK | External | NRF51822 | 32MHz | 256KB | 32KB

### Calliope

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
Calliope mini | On-board | NRF51822 | 16MHz | 256KB | 16KB

### Delta

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
Delta DFCM-NNN40 | On-board | NRF51822 | 32MHz | 256KB | 32KB
Delta DFCM-NNN50 | On-board | NRF51822 | 32MHz | 256KB | 16KB

### JKSoft

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
JKSoft Wallbot BLE | On-board | NRF51822 | 16MHz | 128KB | 16KB

### Nordic

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
Nordic Beacon Kit (PCA20006) | On-board | NRF51822 | 32MHz | 256KB | 32KB
Nordic nRF51 Dongle (PCA10031) | On-board | NRF51822 | 32MHz | 256KB | 32KB
Nordic nRF51822-mKIT | On-board | NRF51822 | 16MHz | 128KB | 16KB
Nordic nRF51X22 Development Kit(PCA1000X) | On-board | NRF51822 | 32MHz | 256KB | 32KB

### OSHChip

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
OSHChip | External | NRF51822 | 32MHz | 256KB | 32KB

### RedBearLab

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
RedBearLab BLE Nano 1.5 | On-board | NRF51822 | 16MHz | 256KB | 32KB
RedBearLab nRF51822 | On-board | NRF51822 | 16MHz | 256KB | 16KB

### SeeedStudio

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
Seeed Arch BLE | On-board | NRF51822 | 16MHz | 128KB | 16KB
Seeed Arch Link | On-board | NRF51822 | 16MHz | 256KB | 16KB
Seeed Tiny BLE | On-board | NRF51822 | 16MHz | 256KB | 16KB

### Switch Science

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
Switch Science mbed HRM1017 | On-board | NRF51822 | 16MHz | 256KB | 16KB
Switch Science mbed TY51822r3 | On-board | NRF51822 | 32MHz | 256KB | 32KB

### VNG

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
VNG VBLUNO51 | On-board | NRF51822 | 16MHz | 128KB | 32KB

### Waveshare

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
Waveshare BLE400 | External | NRF51822 | 32MHz | 256KB | 32KB

### ng-beacon

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
ng-beacon | External | NRF51822 | 16MHz | 256KB | 32KB

### sino:bit

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
Sino:Bit | External | NRF51822 | 32MHz | 256KB | 32KB

### y5 design

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
y5 nRF51822 mbug | On-board | NRF51822 | 16MHz | 256KB | 16KB