NINA-B3 series - System integration manual 
UBX-17056748 - R13  Software   Page 17 of 72 
C1-Public 
2.2  Open CPU 
2.2.1  Nordic nRF5 SDK  
The  Nordic  nRF5  SDK  includes  a  broad  selection  of  drivers  and  libraries  and  provides  a  rich 
development environment for various devices and applications. The SDK is delivered as a plain zip 
archive,  which  makes  it  easy  to  install.  The  SDK  comes  with  support  for  the  SEGGER  Embedded 
Studio, Keil and IAR IDEs, as well as the GCC compiler, which offers the freedom to choose the IDE and 
compiler. 
  Getting started on the Nordic nRF5 SDK 
When  working  with  the  Nordic  SDK  on  the  NINA-B3  series  module,  follow  the  steps  below  to  get 
started with the Nordic Semiconductor toolchain and examples:  
1.  Download and install the nRF Connect application and install the Programmer app, which allows 
programming over SWD, from www.nordicsemi.com. 
2.  Download and install the latest SEGGER Embedded Studio from www.segger.com. 
3.  Download and extract the latest nRF5 SDK found on 
http://www.nordicsemi.com/eng/Products/Bluetooth-low-energy/nRF5-SDK to the directory that 
you want to use to work with the nRF5 SDK. 
4.  Read the information in the SDK Release Notes and check the nRF5 software development kit 
documentation available at the Nordic Semiconductor Infocenter [14]. 
 
The easiest way to get started with the Nordic SDK is to copy one of the examples in the SDK.  Choose 
an example that best matches your needs and use the board definition that is most like your board. If 
you are building for NINA-B3 the closest board definition is the 
pca10056.
 
  Create a custom board for Nordic SDK 
The predefined hardware boards included in the Nordic SDK are Nordic development boards only. To 
add support for a custom board, create a custom board support file called custom_board.h. This file is 
normally located in the folder …\components\boards\ or included together with the sdk_config.h file in 
the config folder of the example. 
The custom board can then be selected by adding the define statement #define BOARD_CUSTOM. 
☞  The referenced file location is in accordance with Nordic nRF5 SDK version 17.0. 
Figure 3shows an example of how the custom board support file might look like for EVK-NINA-B3. 
#ifndef CUSTOM_BOARD_H 
#define CUSTOM_BOARD_H 
 
#ifdef __cplusplus 
extern "C" { 
#endif 
 
#include "nrf_gpio.h" 
// In this file PIN 25 is used as button SWITCH_1, if the GREEN led 
// should be used it is possible to defined that one instead. 
#define LEDS_NUMBER    2 
 
#define LED_1          NRF_GPIO_PIN_MAP(0,13)  // RED 
#define LED_2          NRF_GPIO_PIN_MAP(1,00)  // BLUE 
// #define LED_3       NRF_GPIO_PIN_MAP(0,25)  // GREEN 
 
#define LEDS_ACTIVE_STATE 0