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.
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.
The nRF51-DK supports the development for all the above SOCs.
- Onboard SOC : nRF51422.
- PCA number : PCA10028.
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.
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 :
The nRF52-DK supports the development for the above SOCs.
- Onboard SOC : nRF52832.
- PCA number : PCA10040.
2. nRF52833, nRF52820 :
The nRF52833-DK supports development for the above SOCs.
- Onboard SOC : nRF52833.
- PCA number : PCA10100.
3. nRF52840, nRF52811 :
The nRF52840-DK supports development for the above SOCs.
- Onboard SOC : nRF52840.
- PCA number : PCA10056.
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.
The nRF53 series:
The nRF53 series features 1 SOC : nRF5340.
The nRF5340-PDK can be used to develop applications for the above SOC.
- Onboard SOC : nRF5340.
- PCA number : PCA10095.
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.
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
Once you clicked on [Downloads] and choosed your version in the Changelog, move to the bottom of the page and click on [Download files].
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.
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.
The 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.
The nRFConnect 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.
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: