Nordic April 23, 2025

Controlling NRF52 GPIO with nRF5 SDK

The GPIO (General Purpose Input/Output) ports on the nRF52 series are essential for interfacing with external components like sensors, LEDs, and buttons. In this guide, you’ll learn how to control the digital input and output ports of the nRF52 family using the nRF5 SDK. We’ll walk you through configuring GPIO pins as inputs or outputs, reading button states, and toggling LEDs. With practical examples and code snippets, you’ll gain the skills to easily interact with your hardware and create responsive embedded systems.

Read More
Nordic April 23, 2025

nRF52 freeRTOS blinky

Getting started with FreeRTOS on the nRF52 is easier than you might think! In this article, we’ll show you how to set up a basic FreeRTOS application on the nRF52 and create your first task — a simple "blinky" task to toggle an LED. You’ll learn how to configure FreeRTOS for the nRF52 platform, create tasks, and handle delays, all while taking advantage of the real-time features FreeRTOS offers. Whether you're new to FreeRTOS or embedded systems in general, this guide will help you build a foundation for more complex applications in no time.

Read More
Nordic April 23, 2025

nRF52 TIMER peripheral and nrfx_timer driver

Timers are essential for managing time-based events in embedded systems, and the nRF52 series offers powerful TIMER peripherals to handle such tasks efficiently. In this article, we’ll explore the TIMER peripheral in the nRF52 family and how to utilize the nrfx_timer driver from the nRF5 SDK. You’ll learn how to configure the timer for various use cases, including periodic tasks, timeouts, and event generation. With a hands-on example, we’ll guide you through initializing a timer instance, setting up interrupts, and using the timer for precise timing control — all while minimizing CPU overhead.

Read More
Nordic April 23, 2025

Controlling nRF52 GPIO by tasks and events

The nRF52 family’s GPIO control is made even more powerful with the GPIOTE (General Purpose Input/Output Tasks and Events) peripheral, which allows you to configure GPIOs to trigger actions based on tasks and events. In this article, we’ll dive into the capabilities of the GPIOTE peripheral and explore how to use the nrfx_gpiote driver to interact with it. You’ll learn how to configure input and output pins, set up event-driven GPIO tasks, and handle interrupts efficiently. With a practical example, we’ll show you how to use GPIOTE to control LEDs, detect button presses, or trigger other peripherals, all while optimizing CPU usage for real-time applications.

Read More
Nordic April 23, 2025

Understanding nRF52 PPI module and nrfx_ppi driver

The nRF52 series from Nordic Semiconductor includes the powerful Programmable Peripheral Interconnect (PPI) module, designed to enable efficient communication between peripherals without involving the CPU. This article dives deep into the PPI module’s capabilities, explaining how it can streamline tasks by triggering actions between different peripherals, such as timers, GPIOs, and ADCs. We’ll explore how to leverage the nrfx_ppi driver from the nrfx HAL to set up and control these interactions, reducing system power consumption and improving performance. With a hands-on example, you'll learn to configure the PPI for tasks like sensor data collection or motor control, all while keeping the CPU free for other critical tasks.

Read More
Nordic April 23, 2025

Visual Studio Code and Cortex-Debug extension for nRF52

Debugging nRF52 applications doesn't have to be complex. With Visual Studio Code (VS Code) and the Cortex-Debug extension, you can set up a streamlined development environment for Nordic Semiconductor’s nRF52 series with ease. In this guide, we'll walk you through configuring VS Code for nRF52 development, installing the necessary extensions, and setting up the Cortex-Debug plugin for smooth debugging. Whether you're just starting or looking to enhance your workflow, this tutorial will help you get up and running quickly with powerful debugging capabilities, right from within your favorite code editor.

Read More
Nordic April 23, 2025

nRF52 Serial Communication Using UART/UARTE

Serial communication is one of the most fundamental features in embedded systems, and the Nordic nRF52 makes it easy with its UART and UARTE peripherals. In this guide, you'll learn the differences between the two interfaces, and how to use the app_uart library from the nRF5 SDK to set up reliable serial communication. We’ll walk through initializing the UART, sending and receiving data, and handling common issues — all backed by a hands-on project example to get you started quickly.

Read More
Nordic April 23, 2025

Debugging nRF52 projects with NRF_LOG module

Debugging embedded systems can be tricky — but Nordic’s NRF_LOG module makes it much easier when working with nRF52 projects. This article walks you through how to use the NRF_LOG module to output real-time debug messages over UART or RTT, helping you monitor your application’s behavior as it runs. We’ll cover its key dependencies, how to configure the backend, enable logging levels, and integrate it smoothly into your nRF5 SDK project. Whether you're chasing bugs or just want better visibility into your system, NRF_LOG is an essential tool in your debugging toolkit.

Read More
Nordic April 23, 2025

nRF52 Device Firmware Update (DFU)

Device Firmware Update (DFU) is a powerful feature that allows you to remotely or locally replace the firmware on your nRF52 SoC without physical access to the device. In this article, we break down what DFU is, how it works on Nordic’s nRF52 platform, and what you need to integrate DFU into your own projects. From bootloader configuration and secure firmware packaging to transport options like UART, BLE, or USB, we’ll walk you through the essentials for building a robust and upgradeable embedded system.

Read More
Nordic April 23, 2025

Implementing a nRF52 DFU Bootloader over UART

Device Firmware Update (DFU) is a critical feature for maintaining and upgrading embedded devices in the field. In this article, you’ll learn how to implement a secure DFU bootloader on the Nordic nRF52 series using a UART (serial) connection. We'll guide you through setting up the bootloader using Nordic's nRF5 SDK, configuring the UART backend, and preparing your firmware for DFU packaging. With step-by-step instructions and a working test project, you’ll be able to update your device’s firmware securely and reliably — all over a simple serial link.

Read More