Embedded Systems Tutorials Blog (Arduino, ESP32, Raspberry Pi, STM32)

STM32 ADC DMA Example HAL+ Interrupt, Polling (Single Channel)

STM32 ADC DMA Example HAL+ Interrupt, Polling (Single Channel)

In this tutorial, we’ll discuss the different possible methods to Read Analog Input With STM32 ADC. The LAB we’ll implement is an LED dimmer using a potentiometer to analog input pin and PWM to control the LED brightness.

Embedded Systems Tutorials Blog (Arduino, ESP32, Raspberry Pi, STM32)

STM32 UART Receive DMA Interrup Example HAL Code

How To Receive UART Serial Data With STM32 – DMA / Interrupt / Polling

In this tutorial, I’ll briefly list down the different ways to receive UART data in STM32 microcontrollers. Starting with the least efficient way which is polling for the UART peripheral received data, then we’ll see the interrupt-driven reception method which involves the CPU intervention but it’s non-blocking anyway. And lastly, and most importantly, the DMA UART receive method which doesn’t require any CPU intervention at all and can be considered the most efficient way to achieve this task.

Embedded Systems Tutorials Blog (Arduino, ESP32, Raspberry Pi, STM32)

STM32 DMA Tutorial

STM32 DMA Tutorial – Using Direct Memory Access (DMA) In STM32

In this tutorial, we’ll discuss the direct memory access unit (DMA) in STM32 microcontrollers. We’ll begin with an introduction for what is a DMA unit, when, and why to use it. Afterward, we’ll start discussing the STM32 DMA hardware, its features, and how to configure it in your projects. And some example applications that we’ll be building throughout this course.

Embedded Systems Tutorials Blog (Arduino, ESP32, Raspberry Pi, STM32)

STM32 LCD 16x2 Library & Example Driver (Interfacing LCD Display)

STM32 LCD 16×2 Library & Example | LCD Display Interfacing

In this tutorial, we’ll discuss the alphanumeric LCD 16×2 interfacing with STM32 microcontrollers. Starting with an introduction to the LCD 16×2 display, then how to implement a driver for it on STM32 blue pill board.