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

 STM32 Programming: GPIO, Timers, SPI Interface, ADC, Interrupts, etc.

 Inertial Measurement Unit (IMU) Integration and Coding

Attitude Estimation: Euler Angles

PID Implementation and Theory

RC Joystick Integration

Balancing the Drone

Motor Control

Pressure sensor Integration

Altitude Control

Video Poster Image

Course Content

  1. CH0: Introduction to the Course

    3 lessons
    1. 0 - Welcome to the Course
    2. 1 - PDF Slides
    3. Header and Source Files used in this course
  2. CH1: Essential Components and Tools

    3 lessons
    1. 1 - Flight Controller and Drone companion
    2. 2 - Motor Connections
    3. 3 - ST-Link, Board programming
  3. CH2: Motor Control

    5 lessons
    1. 1 - Motor Fundamentals
    2. 2 - PWM Generation to Control the Motor speed
    3. 3 - Motor Control Library
    4. 4 - BLDC Motor and ESC
    5. 5 - Running the BLDC Motor using the ESC and PWM signal
  4. CH3: IMU Integration

    5 lessons
    1. 1 - Welcome words
    2. 2 - SPI Configuration
    3. 3 - IMU SPI Intarface Check
    4. 4 - Library Integration
    5. 5 - Final test
  5. CH4: Attitude Estimation

    38 lessons
    1. 1 - attitude estimation intro
    2. 2 - timer update interrupt
    1. Attitude Estimation Course Excerpt CH1

      1. 2 - STM32 CubeIde Project creation
      2. 3 - Using SWV for printf function
      3. 4 - Using SWV to plot variables
      4. 5 - SPI theory
      5. 6 - SPI Configuration using STM32CubeMx
      6. 7 - SPI wirings
      7. 8 - Reading ‘Who am I’ register
      8. 9 - Sending data through SPI
    2. Attitude Estimation Course Excerpt CH2

      1. 1 - First version of the library
      2. 2 - Testing the library
      3. 3 - How to read the magnetometer?
      4. 4 - Magnetometer update 1
      5. 5 - Magnetometer update 2
      6. 6 - Testing a new version of the library
      7. 7 - DMA Theory
      8. 8 - DMA configuration
    3. Attitude Estimation Course Excerpt CH3

      1. 1 - Removing gyroscope biases
      2. 2 - Magnetometer bias explanation
      3. 3 - Timer Update Interrupts
      4. 4 - Magnetometer bias removal
      5. 5 - Normalization and scaling of IMU data
      6. 6 - ARM MATH Library Installation
      7. 7 - Library Integration
      8. 8 - A notion of frame
      9. 9 - Testing the library
    4. Attitude Estimation Course Excerpt CH4

      1. 1 - Attitude estimation, slides
      2. 2 - A notion of frame in detail
      3. 3 - 2D rotation
      4. 4 - Euler angles and Rotation Matrix
      5. 5 - Using the accelerometer to obtain pitch and Roll angles
      6. 6 - Using the magnetometer to obtain the Yaw angle
      7. 7 - Using the gyroscope to obtain the Euler angles
      8. 8 - Library Integration
      9. 9 - Complementary Filter
      10. 10 - Testing the libraries
    5. Final Library Integration

      1. 4-library integration
  6. CH5 - Proportional-Integral-Derivative (PID) Controller

    5 lessons
    1. 1 - pid introduction
    2. 2 - pid theory
    3. 3 - pid implementation
    4. 4 - pid implementation
    5. 5 - pid tuning
  7. CH6 : Make the Drone Fly!

    4 lessons
    1. 1 - introduction
    2. 2 - library integration
    3. 3 - drone configuration
    4. 4-final integration
  8. CH7 : RC Joystick Integration

    4 lessons
    1. 1 - RC Joystick Introduction
    2. 2 - RC Joystick Explanation
    3. 3 - Timer Input Capture Mode
    4. 4 - Joystick Drone Control
  9. CH 9 - Pressure sensor for Altitude Estimation

    4 lessons
    1. 1 - How to use the pressure sensor for the altitude estimation
    2. 2 - Integrating the library for the pressure sensor
    3. 3 - Demonstration of the altitude estimation
    4. 4 - Altitude Control

Target audience

Built For Engineers Like You

Who wants to understand how robots are generally made

 Who wants to implement controly systems algorithms in 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.

 

More Details

Frequently-asked questions

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

Basic

€40

€80

 Lifetime access

 81 lessons

 10 hours of video content

 PDF Materials

ENROLL NOW

Additional Benefits

Discount for students and a money-back guarantee

Students can get a 30% discount on this course. Contact [email protected] with valid student proof to claim your offer!

I'm sure you'll enjoy this course! However, if it doesn't meet your expectations, no problem—you can receive a full refund within 14 days, with no questions asked.