Getting started

In this Tutorial I will walk you throught all the necessary steps that you need to follow, in order to get started with the nRF5 development.

Step1: Get a Development Kit

In order to run/test your applications, you need to have a development kit. the dev-kit consists of a development board, where your targeted SOC (system on chip) is soldered to with all the necessary components needed for its proper working. Aditionally to some user-programmable buttons, leds, header pins… so you can easilly and quikly test your applications. It also comes with a J-Link Debugger IC (Interface MCU) allowing programming and debugging both the on-board SoC, and external SoCs through the debug out headers.

nrf52840dk

The nRF5 consists of 3 series: the nRF51 series, the nRF52 series and the nRF53 series.

The nRF51 series:

The nRF51 series features 4 SOCs : nRF51422, nRF51802, nRF51822, nRF51824.


nRF51422 SOC Key features


nRF51802 SOC Key features


nRF51822 SOC Key features


nRF51824 SOC Key features


The nRF51-DK supports the development for all the above SOCs.

  • Onboard SOC : nRF51422.
  • PCA number : PCA10028.

nRF51-DK

The nRF51-Dongle can also be used, but only for the nRF51822, nRF51422, nRF51824 SoCs.
The dongle comes with a On-Board SEGGER J-Link debugger, same as the Dev-kit. So you will not need to have an external debugger for flashing and debugging your applications. But as you note in the picture, the dongle has few pins exposed. So planing to use lot of pins might be of an issue. For that i suggest getting a dev-kit instead, then maybe get a dongle.

  • Onboard SOC : nRF51422.
  • PCA number : PCA10032.

nRF51-Dongle

The nRF52 series:

The nRF52 series features 7 SOCs, that can be arranged into 3 categories :
1. nRF52832, nRF52810, nRF52805.
2. nRF52833, nRF52820.
3. nRF52840, nRF52811.

1. nRF52832, nRF52810, nRF52805 :


nRF52832 SOC Key features


nRF52810 SOC Key features


nRF52805 SOC Key features


The nRF52-DK supports the development for the above SOCs.

  • Onboard SOC : nRF52832.
  • PCA number : PCA10040.

nRF52-DK

2. nRF52833, nRF52820 :


nRF52833 SOC Key features


nRF52820 SOC Key features


The nRF52833-DK supports development for the above SOCs.

  • Onboard SOC : nRF52833.
  • PCA number : PCA10100.

nRF52833-DK

3. nRF52840, nRF52811 :


nRF52840 SOC Key features


nRF52811 SOC Key features


The nRF52840-DK supports development for the above SOCs.

  • Onboard SOC : nRF52840.
  • PCA number : PCA10056.

nRF52840-DK

The nRF52840-Dongle is similar to the nRF52840-DK, but it doesn’t have an on-board debugger, so the debugging is not supported. The dongle can be programmed via USB using the nRFConnect desktop app.

  • Onboard SOC : nRF52840.
  • PCA number : PCA10059.

nRF52840-Dongle

The nRF53 series:

The nRF53 series features 1 SOC : nRF5340.


nRF5340


The nRF5340-PDK can be used to develop applications for the above SOC.

  • Onboard SOC : nRF5340.
  • PCA number : PCA10095.

nRF5340-PDK

Buying a Development kit:

Note: If you’re just getting started, I do recommend getting an nRF52 based development kit. If you think your application may need the USB peripheral feature, choose the nRF52840-DK, if not choose the nRF52-DK. Most of the nRF5 SDK examples are already supporting those two Development kits, So it will be easy to get started with.

To buy a Development kit, refer to its Webpage and click on Buy now.

Buy a nRF5 development kit

Step2: Install the necessary software tools

After getting your Development kit, you need to download and install the necessary software tools.

The nRF5 SDK

The nRF5 SDK is a set of tools, modules, libraries, examples … that are necessary for building applications for the nRF51 and nRF52 series.
Please Note that the nRF5_SDK does not support the development for the nRF53 series.

Note: The nRF Connect SDK is the SDK that supports the nRF53 series.

At the time of writing this tutorial 18th of August 2020, the latest version is nRF5_SDK_17.0.0_9d13099 (v17.0.0).

Note: The nRF5_SDK v12.3.0 is the latest SDK to support the nRF51 family. So planing on using these SOCs will require using the nRF5_SDK v12.3.0 or older versions.

Download your nRF5 SDK copy in the nRF-SDK Download page

download the nrf5 sdk step1

Once you clicked on [Downloads] and choosed your version in the Changelog, move to the bottom of the page and click on [Download files].

download the nrf5 sdk step2

Note: To have an organized folder structure, consider extracting the nRF5_SDK Zip file in : For example: C:\nRF\nRF5_SDK\v17.0.0\. So all the SDK versions remain in the same folder.

The Toolchain/IDE

The latest version of the nRF5 SDK (v17) supports: ARM GCC, IAR, Keil5 and SES.

nrf5 supported toolchains

SEGGER Embedded Studio (SES) is a Powerful IDE to use, also recomended by NordicSemi and offers a Free Commercial license for the use with its products.

Note : Please note that the SDK v12.3.0 does not support the SEGGER TOOLCHAIN. It only supports the ARM GCC, IAR and Keil TOOLCHAINS.

You can download the IDE in the SEGGER download page. It is available for: Windows 32/64 bit, Linux 32/64 bit and macOS.

download segger embedded studio (ses)

The nRF Command Line Tools

nrf command line tools

The nRF Command Line Tools is used for development, programming and debugging of Nordic’s nRF51, nRF52, nRF53 and nRF91 Series based SOCs using the Command line.
Download the latest vesrion for your OS in the nRF command line tools Download page.

download nrf command line tools

The nRFConnect Desktop app

nrf desktop app

The nRF Connect for Desktop is a cross-platform tool that enables testing and development with Nordic’s products including the nRF5 series. It can also be used to flash compiled hex files to the SOCs flash memory.

Download the latest version for your OS, in the NordicSemi Download Webpage.

nrf desktop app download

A BLE explorer app for your SmartPhone

When developping a BLE based application, having a testing app installed in your SmartPhone will be very easy and fast in debugging your application before building the actual app.
I found these apps very helpful:

ble scanner apps

  1. BLE Scanner. The app is available for IOS and Android.

  2. LightBlue® — Bluetooth Low Energy. The app is available for IOS and Android.

  3. nRF Connect for Mobile. The app is available for IOS and Android.