
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.
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 use STM32 ADC in differential mode to measure voltage differences between two…
This tutorial explains the concept of ADC reference voltage in STM32. You’ll learn why it…
Discover how to port the U8G2 monochrome graphics library to STM32 with hardware SPI, I2C,…
Boost STM32 ADC resolution with hardware oversampling. Step-by-step guide for STM32, including CubeMX config, VM…
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,…