STM32 Tutorial Videos
This site have quite a lot of visitors and it appears quite popular, but these days more people are watching Youtube videos for learning rather than reading actual documentation. For this reason, we have decided to create some getting started tutorial videos which will teach you how to learn stm32 and move beyond Arduino.
STM32 is a family of MCUs and there will never be a "one fit all". For this reason, these videos will use different MCUs, probably mostly STM32World and Black Pill but should be fairly development board agnostic.
The videos will all be posted here: https://www.youtube.com/@stm32world/videos
And in the following playlist: https://www.youtube.com/playlist?list=PLVfOnriB1RjWT_fBzzqsrNaZRPnDgboNI
The source code of all the examples will be put in this github repository: https://github.com/STM32World/stm32fun
STM32 Tutorial Videos #1 - Overview, Families, Documentation and Development boards and tools
A rather long introduction to STM32 - providing an overview, explaining the families with focus on where to find documentation and finally a brief mention of the various development boards.
Watch on youtube here: https://www.youtube.com/watch?v=EZqwBuRpdns
STM32 Tutorial Videos #2 - First project in STM32CubeIDE
Creating the first project in STM32CubeIDE.
Watch on youtube here: https://www.youtube.com/watch?v=O6cNvE9ZrVU
STM32 Tutorial Videos #3 - First Blink (done WRONG)
First blink application - done the wrong way!
Watch on youtube here: https://www.youtube.com/watch?v=g-RVJDnlHd0
STM32 Tutorial Videos #4 - Second Blink (done right!)
Second blink application - done the right way!
Watch on youtube here: https://www.youtube.com/watch?v=rQDa_vxYM2Q
STM32 Tutorial Videos #5 - DEBUGGING in-circuit
Introduction to single step debugging using ST-Link and SWD. This one makes ALL the difference.
Watch on youtube here: https://www.youtube.com/watch?v=WT_wqCAuR-c
STM32 Tutorial Videos #6 - How to use External Interrupts
Handling key press using external interrupt on a GPIO pin.
Watch on youtube here: https://www.youtube.com/watch?v=eLrsCw1UDJU
STM32 Tutorial Videos #7 - Optimizing C Code (getting smarter every day)
Optimizing C code by reducing number of calculations.
Watch on youtube here: https://www.youtube.com/watch?v=AA-mjZ4hWZc
STM32 Tutorial Videos #8 - Introduction to timers
Introduction to timers. In this video we will simply blink our LED using a timer.
Watch on youtube here: https://www.youtube.com/watch?v=sdr0EFT2LqU
STM32 Tutorial Videos #9 - Using a timer channel to blink a LED
First dive into timer channels - using a very slow running PWM signal to blink the LED.
Watch on youtube here: https://www.youtube.com/watch?v=Sy-WHDiYVm4
STM32 Tutorial Videos #10 - Pulsing a LED using PWM from a Timer Channel
In this video we use a timer channel to generate PWM which in turn pulses a LED.
Watch on youtube here: https://www.youtube.com/watch?v=4eVfLC05spU
STM32 Tutorial Videos #11 - Running multiple timer channels
In this video we will add more timer channels, so run PWM on 4 different LEDs simultaneously.
Watch on youtube here: https://www.youtube.com/watch?v=ubfZBRW8Onc
STM32 Tutorial Videos #12 - Low level access to peripherals
In this video we will bypass HAL completely and use a peripheral directly. As it is quite simple we will be using the built-in hardware random generator.
Watch on youtube here: https://www.youtube.com/watch?v=EFjRXGrDehM
STM32 Tutorial Videos #13 - Optimizing my stuff again (more than one way to skin a cat)
Optimizing code!!!
Watch on youtube here: https://www.youtube.com/watch?v=QVqE0S4yJT4
STM32 Tutorial Videos #14 - Individual PWM channels pulsing with a sine wave
In this video we continue our dive into PWM by pulsing the four LEDs from the earlier example with individual frequencies.
Watch on youtube here: https://www.youtube.com/watch?v=4s5GswERslA
STM32 Tutorial Videos #15 - Sine wave on DAC with DMA
In this video we continue our dive into the DAC peripheral by calculating and feeding it a sine wave. We will be using DMA to reduce the load on the actual CPU core. Taking this approach speeds up to 1 Msps is possible.
Watch on youtube here: https://www.youtube.com/watch?v=0N4ECamZw2k
STM32 Tutorial Videos #16 - UART Receive with DMA and Idle Detection
In this video we will introduce UART (USART) Transmit and Receive and will use DMA with Idle Detection to process received strings. Using this approach speed up to 2.5 Mbps can be achieved relialbly.
Watch on youtube here: https://www.youtube.com/watch?v=Eh7Szh-K-u8
STM32 Tutorial Videos #17 - More debugging - introducing SWO
In this video we will dive more into debugging by looking at the SWO (Serial Wire Output) and using that to print debug information and to do profiling.
Watch on youtube here: https://www.youtube.com/watch?v=j-GaEZKrkbQ
STM32 Tutorial Videos #18 - SURPRISING Timer feature - Rotary Encoder with Timer Input Capture
In this video we will decode the signals from a rotary encoder using input capture from two timer channels.
Watch on youtube here: https://www.youtube.com/watch?v=6oXmkOyYzyg
STM32 Tutorial Videos #19 - Understanding C types on STM32 MCUs
Just a short video going through the size of various standard C types on STM32 MCUs.
Watch on youtube here: https://www.youtube.com/watch?v=xjMX6PgJv4g
STM32 Tutorial Videos #20 - Understanding I2C
In this video we will introduce the I2C bus and the STM32 HAL libraries supporting the I2C peripheral.
Watch on youtube here: https://www.youtube.com/watch?v=n7vlq_67FI0