STM32 Bootloader: Intermediate 

 

Upgrade Your STM32 and Embedded Programming Skills in Just 2 Hours. 

Build a custom STM32 bootloader from scratch and explore what happens inside the STM32 system — from the reset handler to the vector table and linker script.

 Rated 4.8/5 by students

👨‍🎓 50+ students enrolled

ENROLL NOW

Lifetime

$20

 $40

14-day money-back guarantee 

Lifetime access

 Intermediate level

Certificate of Completion

2 hours of video content

18 video lessons

Source Code

 

Become a Professional Embedded Engineer

Bootloader development is a skill that separates beginner firmware developers from professional embedded engineers. Learn how real devices handle firmware updates.

Steppeschool STM32 Programming Course HAL API, bare-metal programming

Work on a real project

Instead of learning theory, you will implement a fully working bootloader that receives firmware, programs Flash memory, verifies integrity, and launches the application.

Practical Engineering Skills

 

Build a Python script to communicate with STM32 over UART and upload firmware.

The same technique can be reused in many embedded systems.

Steppeschool STM32 Programming Course Datasheet
Steppeschool STM32 Programming Course Q&A

Open the STM32 Black Box

Most developers simply press Build and Flash.
In this course you will explore what actually happens inside the system — from the reset handler to the linker script and vector table.

Get Clear Answers to Your Questions

Learning accelerates when you ask questions.
You’re encouraged to be proactive and curious throughout the course. I respond to questions within 12 hours, and most of the time within 2–3 hours.

Steppeschool STM32 Programming Course Q&A

Steppeschool Reviews

Course Content

  1. 0 - Introduction

    3 lessons
    1. 1 - introduction to the Course
    2. 2 - What is a Bootloader?
    3. STM32CubeIDE 2.0 and STM32CubeMx Project Setup
  2. 1 - UART DMA, CRC, and Python Script

    5 lessons
    1. 1 - Uart Configuration and Testing
    2. 2 - UART DMA Receive to Idle, Python Script for Transmitting Data
    3. 3 - UART CRC Configuration
    4. 4 - Serial data, Computing Checksum in a Python Script
    5. Rate & review this course
  3. 2 - STM32 Flash Memory Introduction

    4 lessons
    1. 3 - Source Code
    2. 1 - Flash Memory Organization. Data, Text, BSS sections of the binary file
    3. 2 - STM32 Flash Memory Writing & Erasing Data
    4. 3 - Flash Memory Test, STM32CubeProgrammer
  4. 3 - Preparing an Application Project

    3 lessons
    1. 1 - Creating an Application Project, Explaining the Linker Script
    2. 2 - Explaining the Vector Table and Generating the Binary file
    3. Rate & review this course
  5. 4 - Bootloader Design

    6 lessons
    1. 1 - Updating Serial Port Library
    2. 2 - Updating the Python Script to stream the application binary file
    3. 3 - Updating the Main Function & Testing with STM32CubeProgrammer
    4. 4 - Jumping to the application: Running Reset Handler
    5. 5 - Final Test
    6. 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.

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

More Details

Frequently-asked questions

Take Full Control of Your STM32 Projects

Stop relying on black-box solutions and start understanding how your system really boots.

In this course, you will learn how to design your own bootloader from scratch, master low-level concepts like the startup file and vector table, and gain the skills needed to build robust, professional embedded systems.

ENROLL NOW