STM32 Tutorial Videos

From Stm32World Wiki
Jump to navigation Jump to search

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 videos which will teach you how to 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 - External Interrupt

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 my stuff (getting smarter every day)

Optimizing code!!!

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

STM32 Tutorial Videos #21 - I2C Read and Write

In this tutorial video we will read from and write to a I2C device. The video also describe the difference between Big- and Little-Endian MCU's.

Watch on youtube here: https://www.youtube.com/watch?v=ZbEU47V_6Ik

STM32 Tutorial Videos #22 - AMAZING Jump to System Bootloader

In this video we demonstrate that it is possible to jump to the built-in system bootloader without using the boot0 pin. It is a bit naughty as it uses the stack space to store a flag during restart (stack space is NOT initialized during a reset).

Watch on youtube here: https://www.youtube.com/watch?v=qXi6o8hhwUE

STM32 Tutorial Videos #23 - UNDERSTANDING GPIO

In this video we dive into the details around GPIOs and alternate functions.

Watch on youtube here: https://www.youtube.com/watch?v=TSDS3op91TE

STM32 Tutorial Videos #24 - HOW TO Read from and Write to I2C Slave

In this video we will use I2C to read temperature data from the BMP085 Temperature/Pressure sensor.

Watch on youtube here: https://www.youtube.com/watch?v=Pk7lvJF15rY

STM32 Tutorial Videos #25 - Bit manipulation using bit banding

In this video we will be doing bit-manipulation using Bit Banding. Bit Banding is a feature (optional feature) of ARM Cortex M0, M3 and M4 cores and it is as far as I know available in all of the F series MCU's.

Watch on youtube here: https://www.youtube.com/watch?v=a0UQXd8kgbs

STM32 Tutorial Videos #26 - Creating a LIBRARY for a I2C sensor

In this video we will finalise dealing with the BMP085 temperature and pressure sensor by creating a portable C library.

Watch on youtube here: https://www.youtube.com/watch?v=Me5HEjUcc8s

STM32 Tutorial Videos #27 - DIVING into FreeRTOS

In this video we will start a dive into FreeRTOS on STM32 MCUs. We will be using the CMSIS RTOS/V2 abstraction layer.

Watch on youtube here: https://www.youtube.com/watch?v=3Kevk3l6vPs

STM32 Tutorial Videos #28 - ESSENTIAL FreeRTOS Runtime Statistics

In this video we will collect and use runtime statistics from FreeRTOS.

Watch on youtube here: https://www.youtube.com/watch?v=zY_I6GZffos

STM32 Tutorial Videos #29 - TAMING the Dog (Independent Watchdog - IWDG)

In this video we will dive into the STM32 Watchdogs - in particular the Independent Watchdog (IWDG). A future video will add the Window Watchdog (WWDG).

Watch on youtube here: https://www.youtube.com/watch?v=wMfDr_AQFko

STM32 Tutorial Videos #30 - DUAL DAC w. FreeRTOS and DMA

In this exciting video we will generate TWO beautiful sine waves on both of the STM32F405 DACs. We will be using DMA and let FreeRTOS handle the scheduling of the callbacks.

Watch on youtube here: https://www.youtube.com/watch?v=i9j63SeN1H8

STM32 Tutorial Videos #31 - Measuring LSI for IWDG Watchdog

In an earlier video (Tutorial video #29) we worked with the Independent Watchdog (IWDG) and were slightly confused about the timing. In this video we will verify the results we found but actually measuring the frequency of the LSI (Low Speed Internal oscillator).

Watch on youtube here: https://www.youtube.com/watch?v=4lfsBK5ahWA

STM32 Tutorial Videos #32 - HIDDEN Treasure (CCMRAM)

In this video we will explore the CCMRAM feature of the STM32F40x MCU's and use that RAM for the FreeRTOS heap. We will also be using the Independent Watchdog (IWDG) with FreeRTOS.

Watch on youtube here: https://www.youtube.com/watch?v=pvekb2h8_og

STM32 Tutorial Videos #33 - SD Card w. FatFS (using SDIO)

In this video you will learn how to interface a SD-card with FatFS (ExFAT to be exact) using SDIO. I manage to thoroughly mess it up but figure it out at the end. I have left the mess so you can see - and avoid - the pitfalls yourself - and I actually added the solution the day after the main part was created.

Watch on youtube here: https://www.youtube.com/watch?v=S78q6SuwnrM

STM32 Tutorial Videos #34 - SD Card w. FatFS (using SPI)

In this video we will be interfacing a SD-card with SPI peripheral (rather than the SDIO used in the previous video)

Watch on youtube here: https://www.youtube.com/watch?v=rk8rMyOc76M

STM32 Tutorial Videos #35 - DEMYSTIFYING C Pointers (and Variables)

In this video we will be diving into C variables, pointers and function call parameters.

Watch on youtube here: https://www.youtube.com/watch?v=Ip2J2jxZYaA