Nordic April 23, 2025

Developing nRF52 applications with GCC

The GNU Compiler Collection (GCC) is a popular choice for developing applications on the nRF52 family, offering flexibility and powerful optimization features for embedded systems. In this tutorial, we’ll guide you through the steps to set up your development environment for the nRF52 using GCC. You’ll learn about the essential components of a typical nRF52 GCC project, including directory structures, key configuration files, and toolchain setup. With a hands-on approach, we’ll walk you through creating, building, and flashing a simple nRF52 application, giving you a solid foundation for further development.

Read More
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
Nordic April 23, 2025

nRF52 SPI/SPIM peripherals

The Nordic nRF52 series includes both SPI and SPIM peripherals, giving developers flexible options for serial communication. Whether you're dealing with sensors, displays, or memory chips, this guide will help you understand the differences between the standard SPI and the enhanced SPIM (SPI Master with EasyDMA) modules. We’ll walk through how to use the nrf_drv_spi driver from the nRF5 SDK to configure and manage SPI transfers efficiently. With clear examples and practical tips, you'll be ready to implement fast, reliable SPI communication in your next nRF52 project.

Read More
Nordic April 23, 2025

Using NRF52 as SPI Slave with SPIS peripheral

While the nRF52 series is often used as an SPI master, it can also serve as a reliable SPI slave thanks to the SPIS (SPI Slave with EasyDMA) peripheral. In this guide, we’ll explore how SPIS works, its advantages in slave mode communication, and how to configure it using the nrf_drv_spis driver from the nRF5 SDK. From setting up buffers and handling transfers to responding to master requests, we’ll walk through everything you need — including a working example project to get your nRF52 talking as a slave device on the SPI bus.

Read More
Nordic April 23, 2025

Measuring analog signal with NRF52 SAADC

Need to capture analog data on your nRF52? The SAADC (Successive Approximation Analog-to-Digital Converter) peripheral is your go-to for accurate, low-power analog signal measurement. In this article, we’ll break down the key features of the nRF52’s SAADC, including its differential mode, oversampling, and EasyDMA support. We’ll also walk through setting up the nrfx_saadc driver — part of the modern nrfx HAL — to configure channels, handle conversions, and read ADC values with minimal CPU load. With a practical example included, you’ll be up and running with analog data collection in no time.

Read More
Nordic April 23, 2025

Using nRF52 as I2C Slave with TWIS peripheral

While the nRF52 is often used as an I2C master, it’s fully capable of acting as a slave device too — thanks to the TWIS (TWI Slave with EasyDMA) peripheral. In this detailed guide, we’ll explore the capabilities of TWIS and how it differs from the standard TWI interface. Using the nrf_drv_twis driver from the nRF5 SDK, we’ll walk through initialization, buffer handling, and event-driven communication to build a simple I2C slave project. Whether you're connecting your nRF52 to another microcontroller or a Raspberry Pi, this tutorial will help you integrate seamlessly as an I2C slave device.

Read More
Nordic April 23, 2025

nRF52 as I2C Master using TWI/TWIM modules

The nRF52 series from Nordic Semiconductor offers robust support for I2C communication through its TWI (Two Wire Interface) and TWIM (TWI Master with EasyDMA) peripherals. In this post, we’ll break down the differences between TWI and TWIM, and show you how to use the nrf_drv_twi driver from the nRF5 SDK to set up the nRF52 as an I2C master. From initializing the bus to sending and receiving data, you’ll learn the essential steps needed to get your devices talking. We'll also walk through a hands-on example project to bring theory into practice — perfect for beginners and experienced developers alike.

Read More
Nordic April 23, 2025

nRF52 Pulse Width Modulation

If you're working with Nordic's nRF52 series and need precise control over LEDs, motors, or other peripherals, Pulse Width Modulation (PWM) is a key technique you'll want to master. In this post, we explore the powerful PWM peripheral built into the nRF52 microcontroller family. We'll walk through how to leverage the nrf_drv_pwm driver from the nRF5 SDK to generate high-resolution PWM signals, customize duty cycles, and build smooth, hardware-controlled waveforms — all with minimal CPU overhead. Whether you're dimming an LED or driving a servo motor, this guide will give you the tools to get started fast and clean.

Read More