
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.
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 how to interface the AHT20 temperature and humidity sensor with STM32 using I2C. Includes…
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…
Learn how to interface a PCF8574‑based I2C LCD1602 with ESP32 using ESP‑IDE. Complete wiring guide,…
Learn how to control an ESP32 LED over UART using ESP‑IDF. Covers UART2 setup, cross‑wiring…
This guide teaches you how to set up UART communication on ESP32 using ESP-IDF, including…
This tutorial teaches you how to add smooth scrolling text, animations, and page transitions to…
This tutorial covers the essentials of using the DS1307 Real-Time Clock with Arduino. You’ll learn…
Learn how to interface the DS3231 RTC module with Arduino using I2C. This step-by-step tutorial…
A complete MPU6050 Arduino guide covering pinout, I2C wiring, raw accelerometer and gyroscope readings, calibration…
This tutorial explains how to interface the ADXL345 accelerometer with Arduino using I2C. You will…
This tutorial teaches you how to create graphics on the ST7920 LCD using U8g2. You…
A complete beginner-friendly guide to using the ST7920 128×64 LCD with Arduino. Covers wiring in…
A complete beginner-friendly guide on interfacing the BME280 sensor with Arduino. Learn sensor pinout, wiring,…