Embedded Explorer is your go-to resource for exploring the world of embedded systems, microcontrollers, IoT, circuit design, and real-time operating systems. Our blog delivers practical tutorials, insightful guides, and the latest trends to empower enthusiasts, hobbyists, and professionals alike. Whether you're programming an ESP32, designing efficient circuits, or building connected devices, we provide clear, actionable content to fuel your passion for creating smarter, innovative solutions. Join our community to stay updated and inspired in the ever-evolving field of embedded technology.
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 MoreThe 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 MoreWhile 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 MoreNeed 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 MoreWhile 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 MoreThe 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 MoreIf 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 MoreThe STM32 ecosystem, paired with STM32CubeIDE, offers a powerful platform for developing embedded applications. In this blog post, we guide you through the essentials of getting started with STM32 development using STM32CubeIDE. Learn how to set up the IDE, create a new project, configure your STM32 hardware, and build and run your first program on the target device. With clear, step-by-step instructions, this tutorial is designed for beginners and seasoned developers alike, helping you kickstart your STM32 projects with confidence and efficiency.
Read MoreUART (Universal Asynchronous Receiver-Transmitter) is a fundamental feature of STM32 microcontrollers for reliable serial communication in embedded systems. In this blog post, we explore how to implement serial communication using STM32 UART with STM32CubeIDE. You’ll learn to configure the UART peripheral and use the HAL library to transfer data from an STM32 microcontroller to a host computer. With a step-by-step project guide, this tutorial is perfect for beginners and experienced developers looking to master UART communication for debugging, sensor interfacing, or data logging in STM32-based applications.
Read MoreThe Serial Peripheral Interface (SPI) is a powerful communication protocol for connecting STM32 microcontrollers with peripherals like the MAX7219, which drives an 8x8 LED dot matrix. In this blog post, we guide you through creating a project to control a MAX7219-based 8x8 LED matrix using STM32CubeIDE and the HAL library. We’ll cover configuring the STM32 SPI peripheral as a master, exploring HAL APIs for SPI communication, and setting up the MAX7219 to display patterns. With step-by-step instructions, this tutorial helps beginners and experienced developers alike master STM32 SPI for dynamic LED matrix projects.
Read More