Teach Me Microcontrollers!

Practical Arduino, ESP32, Raspberry Pi, PIC, sensor, and embedded systems tutorials for makers, students, and engineers.

Latest Tutorials

Linked List Visualizer for Embedded Systems

Linked List Virtualization

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 »

Ring Buffer Visualizer for Embedded Systems

Ring Buffer Embedded

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

ESP32 S3 AA Battery Tutorial

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 »

How to Run an SSH Server on ESP32

ESP32 SSH Server

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 »