STM32Â Bootloader From Scratch
Â
Learn how to design a custom STM32 bootloader from scratch, including Flash memory layout, linker scripts, firmware updates, and UART communication using Python.
Enroll Now
Highly Practical
What you'll learn
 ✔ Understand how the STM32 boot process works at reset, from hardware to application start
✔ Configure and modify the linker script for bootloader–application separation
âś” Erase and program STM32 Flash memory
âś” Validate application firmware before execution (CRC / checksum concepts)
✔ Implement a reliable jump from bootloader to application
âś” Use Python and pySerial to communicate with the STM32 bootloader
✔ Use UART Peripheral with DMA for data transmission
 ✔ Use STM32CubeProgrammer to Monitor the Flash Memory
Course Content
-
0 - Introduction
2 lessons- 1 - introduction to the Course
- 2 - What is a Bootloader?
-
1 - UART DMA, CRC, and Python Script
5 lessons- 1 - Uart Configuration and Testing
- 2 - UART DMA Receive to Idle, Python Script for Transmitting Data
- 3 - UART CRC Configuration
- 4 - Serial data, Computing Checksum in a Python Script
- Rate & review this course
-
2 - STM32 Flash Memory Introduction
4 lessons- 3 - Source Code
- 1 - Flash Memory Organization. Data, Text, BSS sections of the binary file
- 2 - STM32 Flash Memory Writing & Erasing Data
- 3 - Flash Memory Test, STM32CubeProgrammer
-
3 - Preparing an Application Project
3 lessons- 1 - Creating an Application Project, Explaining the Linker Script
- 2 - Explaining the Vector Table and Generating the Binary file
- Rate & review this course
-
4 - Bootloader Design
6 lessons- 1 - Updating Serial Port Library
- 2 - Updating the Python Script to stream the application binary file
- 3 - Updating the Main Function & Testing with STM32CubeProgrammer
- 4 - Jumping to the application: Running Reset Handler
- 5 - Final Test
- 6 - final words
NICE TO MEET YOU
Tutor
Greetings! I'm Yerke, the founder/editor/SEO/ loader/marketer of SteppeSchool. With a Bachelor's degree in Electrical Engineering and a Master's degree in Robotics/Mechatronics, I completed my Ph.D. in Robotics/Mechatronics.
Currently, as an automation engineer, I spend my free time teaching people about electronics, embedded programming, and robotics. For years, I've been curating insightful content on my YouTube channel (+700k views), offering valuable insights to students and enthusiasts alike.
Steppeschool Reviews
Lifetime, Presale
$20
 $40
âś”Flexible payment plansÂ
✔Lifetime access
✔Certificate of Completion
✔2 hours of video content
✔18 video lessons
✔Source Code
Â
Â
Cancelling & 14-day Money-back guarantee
 I'm sure you'll enjoy this course! But if it doesn't meet your expectations, no problem—you can get a full refund within 14 days and cancel anytime, no questions asked.
Ask Questions Anytime
Whenever you're stuck, ask in the comments tab — I personally reply within 12 hours to guide you forward, like a mentor throughout your STM32 journey.
Target audience
Built For Engineers Like You
âžś Embedded systems engineers who want to design a professional STM32 bootloader from scratch
➜ STM32 developers and hobbyists who want to understand Flash memory, linker scripts, and firmware updates
➜ Students and self-learners aiming to gain real-world embedded firmware design skills
Requirments
WHAT you'll need
Â
âś” STM32Â microcontroller board
âś” Basic knowledge of programming STM32 MCUs