Blog Datasheets Home About me Clients My work Services Contact

G2Labs Grzegorz Grzęda

Getting Started with nRF52 Development

June 30, 2024

Getting Started with nRF52 Development

Introduction

The nRF52 series of microcontrollers by Nordic Semiconductor is a popular choice for developing wireless applications. These powerful and energy-efficient chips are widely used in the Internet of Things (IoT) industry. In this blog post, we will guide you through the process of getting started with nRF52 development.

Hardware Requirements

To start developing with nRF52, you will need the following:

  1. nRF52 development board (such as nRF52-DK or nRF52-DK-PCA10040)
  2. USB cable
  3. Computer running Windows, macOS, or Linux

Software Installation

Before diving into development, you need to set up the necessary software tools for programming the nRF52. Let’s go through the installation process step-by-step.

1. nRF Connect for Desktop

Start by installing Nordic Semiconductor’s nRF Connect for Desktop, which provides essential tools and utilities for nRF52 development. It can be downloaded from Nordic Semiconductor’s website and is available for Windows, macOS, and Linux.

2. Segger Embedded Studio

The Segger Embedded Studio (SES) is a powerful integrated development environment (IDE) tailored for ARM-based microcontrollers, including the nRF52 series. It offers a user-friendly interface and excellent debugging features.

Download the latest version of Segger Embedded Studio from the Segger website. Nordic Semiconductor provides a free license for non-commercial use. After installation, you will be prompted to enter the license key.

3. nRF5 SDK

The nRF5 Software Development Kit (SDK) is a comprehensive collection of libraries and examples provided by Nordic Semiconductor. It simplifies the development of applications for nRF52 microcontrollers.

Download the nRF5 SDK from the Nordic Semiconductor website. Make sure to choose the appropriate version compatible with your board.

4. Arm GCC Toolchain

To compile your nRF52 application code, you need the Arm GCC toolchain, which includes a set of cross-compilation tools. Nordic Semiconductor provides a customized version of the toolchain called “nRF Command Line Tools Installer.” Download and install it from their website.

5. Programmers

Depending on your specific nRF52 board, you may require external programmers to flash the firmware onto the microcontroller. Nordic Semiconductor offers several options, including the nRF52-DK, which includes an integrated Segger J-Link onboard.

Let’s Start Coding!

Now that we have the necessary software and hardware ready, let’s dive into nRF52 programming. We will create a simple LED blink example to get you started.

1. Create a New Project

Open Segger Embedded Studio and create a new project. Select “File -> New -> nRF5 Project…” and follow the wizard. Choose the appropriate board, SDK version, and select the desired peripherals and drivers you want to include in your project.

2. Configure GPIOs and LEDs

In the generated project files, open the main.c file. We will configure a GPIO as an output for controlling an LED. Refer to the specific board’s datasheet and consult the SDK documentation to identify the correct GPIO pin and peripheral.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
#include <stdbool.h>
#include <stdint.h>
#include "boards.h"
#include "nrf_delay.h"
#include "nrf_gpio.h"

int main(void)
{
    nrf_gpio_cfg_output(LED_1);
    
    while (true)
    {
        nrf_gpio_pin_toggle(LED_1);
        nrf_delay_ms(500);
    }
}

3. Build and Flash

Connect your nRF52 development board to your computer using the USB cable. Build the project by clicking “Build -> Build [Project Name].” Once the build is successful, you can flash the firmware onto the board using the onboard or external programmer.

Reset or power cycle the board, and you should observe the LED blink at a 500-millisecond interval.

Conclusion

Congratulations! You have successfully set up your nRF52 development environment and created a simple LED blink example. This blog post provided you with an overview of the necessary hardware and software tools and guided you through the process of programming your first application.

The nRF52 series offers a myriad of features and capabilities, such as Bluetooth Low Energy (BLE) connectivity, sensors integration, and power management. We encourage you to explore the nRF5 SDK examples and the comprehensive documentation offered by Nordic Semiconductor to unleash the full potential of your nRF52 development board. Happy coding!


➡️ The Power of Python's List Comprehensions


⬅️ A Deep Dive into Object-Oriented Programming in C


Go back to Posts.