
Microcontroller Tutorials with Code from Scratch
Controllerstech.com is dedicated to teaching STM32, ESP32, and embedded systems through practical, hands-on tutorials. All examples are built from scratch using datasheets and reference manuals, and every project is tested on real hardware to ensure accuracy and reliability. The goal is to help you gain complete control, deep understanding, and the confidence to build real-world embedded applications.
This tutorial explains how to interface the R307 fingerprint sensor with STM32 using UART. Learn…
Learn to interface SSD1306 OLED with STM32 using I2C. Includes HAL code, CubeMX setup, SSD1306…
This guide walks you through connecting and programming a 16×2 I2C LCD with STM32 using…
Learn how to display an analog clock on the GC9A01 round display using STM32 and…
Learn how to interface the GC9A01 round TFT display with STM32 via SPI and implement…
Step-by-step guide to interface an SD card with STM32 using SDIO peripheral and DMA. Covers…
Learn how to interface SD card with STM32 via SPI using HAL, DMA & FATFS….
Learn how to interface the GP2Y0A41SK0F IR distance sensor with STM32 using ADC. Includes circuit…
Learn to interface an SPI LCD with ESP32 and display graphics using the LVGL library….
Learn how to connect and program an SPI LCD with ESP32 using Espressif IDE. Includes…
Learn to configure ESP32 ADC in continuous mode using DMA and interrupts in ESP‑IDF. Includes…
Learn ESP32 ADC one-shot mode to read multiple ADC1/ADC2 channels, configure attenuation & calibration in…
Master ESP32 SPI Part 3: Learn to write and read data from W25Q flash memory using…
Master ESP32 SPI Part 2: Configure bus to read data from a W25Q flash slave, retrieve…
Learn how to configure ESP32 SPI as master, initialize the bus & device, and transmit…
Learn how to read and write data to the MPU6050 accelerometer via I2C on ESP32…
This Arduino UART tutorial teaches you step-by-step how to use serial communication. Learn to send…
A quick guide to using digitalWrite() and digitalRead() in Arduino to control LEDs, read buttons,…