Nordic

Understanding Work Queues in Zephyr RTOS

Work queues in Zephyr RTOS are a lightweight way to defer work, move processing out of interrupt context, and keep applications responsive without creating extra threads. In this article, we explain how work queues work, explore system and custom queues, show how to schedule delayed tasks, and demonstrate a real-world Bluetooth advertising example where work queues ensure safe and efficient operation.

Read more 5 min read

Controlling WS2812 LED Strips with SPI on nRF52832 using nRF Connect SDK

WS2812 LEDs, also known as NeoPixels, are popular for creating colorful lighting effects with just a single data line. The challenge lies in their strict timing requirements, which can be tricky to handle on microcontrollers. In this post, we’ll show how to control a WS2812 LED strip on an nRF52832 custom board using the nRF Connect SDK. By repurposing the SPI driver to generate the precise waveforms, we can drive the LEDs reliably without bit-banging.

Read more 8 min read

Build Configurations & Kconfig in nRF Connect SDK

Build configurations in the nRF Connect SDK let you fine-tune your application at compile time, controlling everything from logging verbosity to Bluetooth Low Energy parameters. In this post, we explore how to use prj.conf and menuconfig to manage Kconfig options, highlight common configurations such as logging, peripherals, and BLE settings, and walk through a practical example of enabling debug logging and tuning BLE buffers for higher performance.

Read more 5 min read

Understanding Device Tree in nRF Connect SDK

Device Tree in nRF Connect SDK is a structured way of describing hardware, making your applications more portable and maintainable. Learn about DT hierarchy, nodes, properties, overlays, and practical examples like blinking LEDs, reading buttons, and adding custom sensors.

Read more 6 min read

Introduction to Zephyr Build System

Getting started with the nRF52832 in the nRF Connect SDK requires understanding how Zephyr’s build system works. This post introduces the core components of building applications, including CMake, west, and key configuration files like prj.conf and CMakeLists.txt. We walk through how west orchestrates the build process, how to configure project features, and provide a step-by-step example of building and flashing a simple Hello World application. By mastering these fundamentals, you’ll be ready to develop scalable and maintainable embedded applications with Zephyr.

Read more 9 min read

Efficient Inter-Thread Communication with Message Queues in Zephyr RTOS on the nRF7002

In embedded systems development, efficient inter-thread communication is crucial for ensuring responsiveness and modularity. This article explores how to use message queues (k_msgq) in Zephyr RTOS to implement a clean producer-consumer architecture on the Nordic nRF7002 Development Kit. By simulating a sensor data pipeline that passes fixed-size messages between threads, we demonstrate how message queues can decouple tasks, manage timing mismatches, and improve system reliability. Whether you're working on IoT telemetry, data buffering, or real-time sensor fusion, mastering message queues in Zephyr is a foundational skill for building scalable embedded applications.

Read more 7 min read

Mastering Mutexes in Zephyr OS: A Deep Dive with nRF7002DK Examples

Mutexes are vital for thread synchronization in real-time operating systems like Zephyr. This comprehensive guide explores mutexes in depth, detailing their role in preventing race conditions, and provides practical examples using the nRF7002DK with nRF Connect SDK. Learn to leverage Zephyr’s mutex APIs for robust embedded applications.

Read more 8 min read

Understanding Semaphores in Zephyr OS on nRF7002DK

Semaphores are powerful synchronization primitives in Zephyr OS, enabling efficient task coordination and resource management in real-time embedded systems. In this blog post, we explore how semaphores work in Zephyr OS, with a practical example on the nRF7002DK board. Learn how to implement a producer-consumer pattern using semaphores to synchronize threads, and discover best practices for embedded development.

Read more 4 min read

Zephyr OS Logging Module: A Guide with nRF7002DK Example

Discover how to leverage the Zephyr OS logging module for efficient debugging and diagnostics in embedded systems. This guide dives into the module’s features, configuration, and practical implementation using the nRF7002DK, a versatile development kit for IoT applications.

Read more 4 min read

Getting Started with Zephyr OS: A Beginner's Guide for Nordic Development with nRF Connect SDK

New to Nordic Semiconductor development and the nRF Connect SDK? Discover Zephyr OS, the powerful open-source real-time operating system (RTOS) at its core. This beginner-friendly guide introduces Zephyr’s key features, explains why it’s ideal for Nordic’s nRF microcontrollers, and explores its role in building IoT applications. Learn how to leverage Zephyr with the nRF Connect SDK to kickstart your embedded development journey.

Read more 5 min read

Building an OTA Firmware Update Server with Django for IoT Devices

Over-the-air (OTA) firmware updates are essential for maintaining and improving IoT devices in the field. In this guide, we’ll build a simple Django-based OTA server to host and deliver firmware updates to Wi-Fi-enabled devices, like those powered by Nordic Semiconductor’s nRF7002. Learn how to create firmware version APIs, serve binary files, and manage updates from a web interface.

Read more 3 min read

Beginner's Guide to Handling Button Inputs on nRF7002 DK with VS Code and nRF Connect SDK

In this guide, we’ll walk you through the process of setting up a project to handle button inputs on the nRF7002 DK. Using the nRF Connect SDK and VS Code, you’ll learn how to configure GPIO, write interrupt-driven button input code, and flash your board. Whether you're just starting with Nordic Semiconductor’s development kits or looking to enhance your embedded projects, this tutorial covers all the essential steps, from environment setup to writing functional code and testing it in action.

Read more 4 min read

Getting Started with the nRF7002: Blink an LED Using the nRF Connect SDK

In this tutorial, we’ll walk you through everything you need to get started with the nRF7002 Development Kit—from setting up your development environment to writing and flashing your first embedded application. We'll use the classic “blinky” example to demonstrate how to blink an LED using Zephyr RTOS and the nRF Connect SDK. By the end of this guide, you’ll have a solid foundation for working with Nordic Semiconductor’s powerful dual-core nRF5340 SoC, which powers the nRF7002 DK.

Read more 5 min read