Balancing Robot: Design, Control, and Programming with STM32
Build a self-balancing robot from scratch, mastering STM32 microcontroller programming and robotics topics like PID, LQR, and DC motor control. Get comprehensive guidance on embedded programming, hardware design, and control algorithms.
Enroll Now
Highly Practical
What you'll learn
✔Managing complex projects
✔ Learning STM32 Debugging tools
✔ Mastering Embedded STM32 Microcontrollers programming (SPI, Timers, PWM, Interrupts, etc.)
✔DC Motor Control: Theory and Implementation
✔ PID Controller: Theory and Implementation
✔ Working with incremental encoders for position/velocity estimation
✔ Using an IMU sensor (gyroscope, accelerometer, and magnetometer) to compute Euler angles
✔ Linear Quadratic Regulator: Theory and Implementation
✔ RC Joystick Integration
Course Content
-
CH0: Introduction to the Course
3 lessons- 0 - Welcome to the Course
- 1 - PDF Slides
- Header and Source Files used in this course
-
CH1: Essential Components and Tools
3 lessons- 1 - Flight Controller and Drone companion
- 2 - Motor Connections
- 3 - ST-Link, Board programming
-
CH2: Motor Control
5 lessons- 1 - Motor Fundamentals
- 2 - PWM Generation to Control the Motor speed
- 3 - Motor Control Library
- 4 - BLDC Motor and ESC
- 5 - Running the BLDC Motor using the ESC and PWM signal
-
CH3: IMU Integration
5 lessons- 1 - Welcome words
- 2 - SPI Configuration
- 3 - IMU SPI Intarface Check
- 4 - Library Integration
- 5 - Final test
-
CH4: Attitude Estimation
38 lessons- 1 - attitude estimation intro
- 2 - timer update interrupt
-
Attitude Estimation Course Excerpt CH1
- 2 - STM32 CubeIde Project creation
- 3 - Using SWV for printf function
- 4 - Using SWV to plot variables
- 5 - SPI theory
- 6 - SPI Configuration using STM32CubeMx
- 7 - SPI wirings
- 8 - Reading ‘Who am I’ register
- 9 - Sending data through SPI
-
Attitude Estimation Course Excerpt CH2
- 1 - First version of the library
- 2 - Testing the library
- 3 - How to read the magnetometer?
- 4 - Magnetometer update 1
- 5 - Magnetometer update 2
- 6 - Testing a new version of the library
- 7 - DMA Theory
- 8 - DMA configuration
-
Attitude Estimation Course Excerpt CH3
- 1 - Removing gyroscope biases
- 2 - Magnetometer bias explanation
- 3 - Timer Update Interrupts
- 4 - Magnetometer bias removal
- 5 - Normalization and scaling of IMU data
- 6 - ARM MATH Library Installation
- 7 - Library Integration
- 8 - A notion of frame
- 9 - Testing the library
-
Attitude Estimation Course Excerpt CH4
- 1 - Attitude estimation, slides
- 2 - A notion of frame in detail
- 3 - 2D rotation
- 4 - Euler angles and Rotation Matrix
- 5 - Using the accelerometer to obtain pitch and Roll angles
- 6 - Using the magnetometer to obtain the Yaw angle
- 7 - Using the gyroscope to obtain the Euler angles
- 8 - Library Integration
- 9 - Complementary Filter
- 10 - Testing the libraries
-
Final Library Integration
- 4-library integration
-
CH5 - Proportional-Integral-Derivative (PID) Controller
5 lessons- 1 - pid introduction
- 2 - pid theory
- 3 - pid implementation
- 4 - Using PID for Tilt Angle Control
- 5 - pid tuning
-
CH6 : Make the Drone Fly!
4 lessons- 1 - introduction
- 2 - library integration
- 3 - drone configuration
- 4-final integration
-
CH7 : RC Joystick Integration
4 lessons- 1 - RC Joystick Introduction
- 2 - RC Joystick Explanation
- 3 - Timer Input Capture Mode
- 4 - Joystick Drone Control
-
CH 9 - Pressure sensor for Altitude Estimation
4 lessons- 1 - How to use the pressure sensor for the altitude estimation
- 2 - Integrating the library for the pressure sensor
- 3 - Demonstration of the altitude estimation
- 4 - Altitude Control
Balancing Robot Design Course reviews
Zakes D
I highly recommend this course. It not only focuses on the primary goal of building a self-balancing robot but also guides you through each step, helping you master STM32 programming. If you encounter any issues, the instructor responds quickly and provides assistance. This course is exactly what I was looking for from the start. I now feel confident to undertake other projects using the skills I’ve acquired. Thank you for such a fantastic course!
Logan Parker
Love the PID implementation and using it to control the motor speed. Also, no doubt, the instructor covers STM32 Programming topics incredibly well
Kunal Bhatia
The instructor answers the questions on time and makes constructive comments. In addition, the course content is excellent since it covers all the topics related to build the robot from scratch.
Cian Byrne
It is great how the teacher explains both embedded systems and control system topics. I have not encountered such kind of course before.
Logan Parker
The most complete guide on the balancing robot design I could find
Julien Moreau
The course slides are incredibly helpful. The control systems and STM32 programming topics are well explained.
Aarav Mehra
I highly recommend this course if you want to learn how to apply theoretical concepts such as PID and State-Space Design in practice.
Join Today and Save 50% – Time Left
00
DAYS
00
HOURS
00
MINS
00
SECS
Lifetime
$80
✔Flexible payment plans
✔Lifetime access
✔ 81 lessons
✔ 10 hours of video content
✔ PDF Materials
Flexible Payment Plans
Choose to pay once for lifetime access or spread the cost over several easy monthly payments — all shown at checkout.
Discount for students
Students can get a 30% discount on this course. Contact us to claim your discount.
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
➜ Who wants to understand how robots are generally made
➜ Who wants to implement control systems algorithms in the real world
➜ Embedded developers ready to dive deep into flight controller firmware using STM32.
➜ Robotics enthusiasts who love experimenting with sensors, PID control, and motor drivers.
➜ Makers who want to build a robot that works *because of their own code*, not prebuilt libraries.
➜ Researchers or educators exploring control systems and UAV dynamics in practice.
Requirments
WHAT you'll need
✔ Hardware for the balancing robot: frame, motors, wheels, etc. (we will discuss in the course)
✔ STM32 MCU
✔ Basic knowledge of programming STM32 MCUs
✔ Motivation