
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 how to configure STM32 ADC in single channel polling mode, read analog input using…
Step‑by‑step guide to scroll text on a MAX7219 dot‑matrix display with STM32 via SPI. Includes…
Learn how to cascade multiple MAX7219-based dot matrix displays with STM32 using SPI. Step-by-step wiring,…
Learn to interface an 8×8 LED dot matrix with STM32 using SPI and MAX7219. Covers…
Learn to interface a 1.3″ SH1106 OLED with STM32 via I2C. Includes wiring on STM32…
Learn to control continuous‑rotation servo RPM via potentiometer (and optional button) on STM32: ADC setup,…
Learn to interface a continuous‑rotation servo with STM32 using PWM. Covers CubeMX timer setup, wiring,…
This tutorial will cover how to interface the passive buzzer with STM32 and how to…
This beginner-friendly guide explains how PWM (Pulse Width Modulation) works in Arduino and how to…
Master microsecond delays in Arduino using delayMicroseconds(). Discover how to create precise timing for pulses,…
Learn how to use I2C communication in Arduino. Understand master-slave setup, Wire library functions, I2C…
Understand how Arduino converts analog signals into digital values using the ADC and analogRead(). Learn…
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,…