A linked list in embedded systems is a collection of data elements connected using pointers. Unlike an array, the elements do not need to occupy consecutive locations in memory. Each element stores its own data and a pointer that identifies the next element in the list. Linked lists are common …
Read More »Latest Tutorials
Ring Buffer Visualizer for Embedded Systems
A ring buffer in embedded systems is a fixed-size memory area used to temporarily store data. You will often find one between a fast peripheral and a slower part of the program. A UART interrupt, for example, can place received bytes into a ring buffer while the main application processes …
Read More »How to Power an ESP32-S3 with AA Batteries
The ESP32-S3 is commonly powered through its USB port while programming and testing. However, USB power is not always practical for projects installed outdoors, mounted on walls, or placed far from an electrical outlet. In this tutorial, we will build an ESP32-S3 AA battery power supply using two AA cells …
Read More »Arduino 128×64 LCD Interfacing Using the ST7920
A 16×2 character LCD is enough when you only need to display a few numbers or short messages. However, once your project needs icons, graphs, progress bars, larger fonts, or a proper user interface, a graphical LCD becomes a much better option. In this tutorial, I will show you how …
Read More »How to Connect IR Proximity Sensor with ESP32
In this tutorial, we will connect an IR proximity sensor with the ESP32. This sensor is commonly used for obstacle detection, line-following robots, object counters, and simple automation projects where you only need to know if an object is near or not. The common IR proximity sensor module has an …
Read More »RP2040-Zero Getting Started Guide: Pinout, Arduino IDE Setup, and RGB LED Blink
The RP2040-Zero from Waveshare is one of those boards that looks too small at first glance, but is actually a very capable microcontroller board. It is based on the same RP2040 chip used in the Raspberry Pi Pico, but Waveshare placed it on a much smaller board with a USB-C …
Read More »ESP32-C3 Super Mini Getting Started Guide: Pinout, Arduino IDE Setup, and Built-In LED
The ESP32-C3 Super Mini is one of those tiny development boards that looks almost too small to be useful at first. But once you plug it in and get past the first upload, it becomes a very handy board for compact Wi-Fi and BLE projects. It is smaller than the usual …
Read More »How to Run an SSH Server on ESP32
An SSH server on ESP32 lets you log in to your microcontroller over Wi-Fi using a secure terminal connection. Instead of opening the Arduino Serial Monitor through USB, you can connect from a computer, phone, or another device on the same network and send commands remotely. In this tutorial, you …
Read More »Connect L298N to Raspberry Pi 5: Control DC Motors with Python
The Raspberry Pi 5 is powerful enough to run vision, robotics, and automation projects, but its GPIO pins cannot directly drive DC motors. A motor needs more current than a Raspberry Pi GPIO pin can provide, and motors also generate electrical noise that can damage sensitive electronics. That is where …
Read More »ESP32-S3 Getting Started Guide: Pinout, Arduino IDE, USB, and First Project
The ESP32-S3 is one of the most useful ESP32 boards for modern microcontroller projects. It keeps the Wi-Fi and Bluetooth features that made the original ESP32 popular, but adds better USB support, more memory options, and features aimed at AI, signal processing, and Human Interface Device applications. If you are …
Read More »