STM32 Tutorials – Learn STM32 Programming with HAL, LL, and Bare Metal
This section provides step-by-step STM32 tutorials and tested code for learners ranging from beginners to experts. Programming is demonstrated in STM32CubeIDE using both HAL and LL drivers, making the examples easy to follow and adapt. The coverage spans GPIO, ADC, UART, timers, PWM, I2C, SPI, CAN, Ethernet, DMA, memories, displays, sensors, and many other peripherals—ideal for anyone looking to gain practical experience and develop reliable hardware projects.
STM32 Peripherals
Step-by-step STM32 guides using HAL covering essential peripherals like UART, SPI, I2C, ADC, DMA, CAN, and GPIO, with practical examples and code for beginners and advanced developers.
STM32 ADC PART 5 – Multi‑Channel without DMA
STM32 as I2C SLAVE || PART 4
STM32 ADC PART 9 – ADC Oversampling Technique
Send and Receive data from the WebServer using STM32
STM32 as I2C SLAVE || PART 5
STM32 I2C Tutorial | Register-Based Configuration with Example Code
STM32 UART PART 5 – Receive Data Using IDLE Line (Interrupt & DMA Methods)
STM32 Programming using Registers
Learn STM32 register-level programming with clear explanations and examples, covering GPIO, timers, interrupts, communication interfaces, and more.
STM32 Clock Configuration with Registers – RCC Setup Example
STM32F103 Clock Setup using Registers
STM32 GPIO Output Example Using Registers | BSRR, MODER, GPIOA Explained
STM32 GPIO Input Configuration – Pin Setup, Pull-Up, and IDR Read
STM32 I2C Tutorial | Register-Based Configuration with Example Code
External Interrupt using Registers
STM32 SPI Tutorial Using Registers (Full-Duplex Master with ADXL345)
DMA with ADC using Registers in STM32
STM32 Display Tutorials
Explore STM32 display guides with step-by-step guides on interfacing LCD, OLED, and TFT screens, including graphics, text rendering, and practical examples.
Interface 7 segment display with STM32 || TM1637
LVGL on STM32 || PART7 || Load LVGL from Ext Flash
Riverdi STM32 Display #3. Send data from UART to UI
STM32 FMC || LCD PART2 || How to add touch interface to the LCD
STM32 FMC || LCD PART1 || How to configure for LCD
AVR #7. I2C Master PART 3 || Interface LCD1602 via I2C
Interfacing SSD1306 OLED Display with STM32 using I2C (HAL + CubeMX Guide)
LCD 20X4 using I2C with STM32
STM32 Timer Series
Master STM32 timers with practical tutorials on PWM, input capture, output compare, interrupts, and advanced timer features for real projects.
STM32 Timer #1 : Generate PWM with DMA using HAL
STM32 TIMERS #2. How to Measure PWM Input
STM32 TIMERS #3. How to use the ENCODER Mode
STM32 Timer #4: Input Capture Tutorial | Measure Frequency & Pulse Width
STM32 TIMERS #5. Timer synchronization || Slave Trigger mode
STM32 TIMERS #6. Timer synchronization || Generate 3 Phase PWM
STM32 TIMERS #7. Timer synchronization || Slave Reset mode
STM32 TIMERS #8. Make 48 bit Counter by Cascading Timers
STM32 Ethernet Tutorials
Learn STM32 Ethernet programming with step-by-step guide on LAN configuration, TCP/IP, UDP, and real-world networking examples.
STM32 Ethernet PART 10 – HTTP Server (Basic) using LWIP NETCONN (RTOS)
STM32 Ethernet PART 11 – HTTP Server using AJAX PART1
STM32 Ethernet Tutorial (PART 1): Hardware Setup, Configuration & LWIP Ping Test
STM32 W5500 Ethernet Tutorial (Part 2): Create a TCP Server to Receive and Process Data
STM32 W5500 Ethernet Tutorial (Part 1) | DHCP, Static IP and Ping Test
STM32 Ethernet PART 6 – How to Configure Simple HTTP Webserver
STM32 Ethernet with Mongoose | Part 3 Weather Station
STM32 Ethernet PART 5 – How to Configure TCP Client
STM32 RTOS Series
Step-by-step STM32 RTOS tutorial series covering FreeRTOS setup, tasks, queues, semaphores, and real-time project examples.
STM32 FreeRTOS Tutorial #1: Setup with CubeMX, Task Creation, and Priorities
FreeRTOS Tutorial #2 -> Task Operations
FreeRTOS Tutorial #3 -> How to use Binary Semaphore
FreeRTOS TUTORIAL #4 -> Using Counting Semaphore
FreeRTOS Tutorial #5 ->Using Queue
FreeRTOS Tutorial #7 -> Using MUTEX
FreeRTOS Tutorials #8 -> Software Timers
STM32 Memories
Understand STM32 memories with guides on Flash, SRAM, EEPROM, and external memory interfacing, explained with code examples.
