Complete guidance on designing the balancing robot

On the web, you can find plenty of embedded programming tutorials covering various aspects of microcontroller programming. Similarly, many robotics courses teach the theory of robot and controller design. However, what's often missing is how to combine these two areas to build a functional robot. 

This course is designed to address this gap. We will cover embedded programming and control system topics, culminating in the construction of a self-balancing robot. 

Students will master STM32 microcontroller programming, learn to implement PID and LQR control algorithms and gain expertise in DC motor control. Additionally, we will delve into sensor integration, exploring gyroscopes, accelerometers, and more. 

Furthermore, we'll discuss the hardware design aspects of the robot, including motor selection, and PCB layout. By the end of the course, students will have the skills and knowledge to not only understand the theory but also apply it practically to build their balancing robot from scratch.

Robotics Course Outcome

+ DC Motor Control: Theory and Implementation

+ PID Controller: Theory and Implementation

+ Mastering Embedded STM32 Microcontrollers programming (SPI, Timers, PWM, Interrupts, etc.)

+ 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

+ PCB Design of the Balancing Robot


Open-Source Hardware and Firmware

The PCB Design of the robot is fully open-source and anyone can order it with the assembly and use it for other designs:

PCB Design of the Balancing Robot

All project code developments are open-source and available on GitHub:

Balancing Robot Source Code 


Check how your self -balancing robot could work


Student Discount - 30% Off


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

Course curriculum

    1. Welcome to the course!

    2. Slides used in this Course

    3. Prerequisites

    4. Hardware of the course

    5. How to ask questions and other important remarks

    1. Lesson 1: Motor Control Fundamentals: Part 1

    2. Lesson 2: Motor Control Fundamentals: Part 2

    3. Lesson 3: Unveiling the STSPIN240 Motor Driver

    4. Lesson 4: PWM Signal generation using the Timer of the STM32 MCU

    5. Lesson 5: PWM Testing

    6. Lesson 6: STSPIN840 Motor Driver and Custom Hardware

    7. Lesson 7: Motor Driver Library Integration

    1. Lesson 1: Incremental encoders theory

    2. Lesson 2: STM32 Timer Encoder CubeMx Configuration

    3. Lesson 3: Timer Encoder Mode Test

    4. Lesson 4: STM32 SWV Configuration

    5. Lesson 5: Timer Update Interrupt

    6. Lesson 6: Timer Overflow demo

    7. Lesson 7: Timer Encoder Library Integration

    8. Lesson 8: Timer Encoder Library Test

    1. Why do we need PID?

    2. PID Explanation

    3. PID Library Integration

    4. Main File edition for PID Testing

    5. Tuning a PID Controller

    1. Lesson 1 - Moving Average Filter Introduction

    2. Lesson 2 - Library Integration

    3. Lesson 3 - Testing the library

    4. Lesson 4 - Updating the encoder library

    1. Lesson 1 - Introduction to the RC Joystick

    2. Lesson 2: Timers Configuration for capturing input PWM signals

    3. Lesson 3: adding the callback function to capture interrupts

    4. Lesson 4 - Testing the RC Joystick

    5. Lesson 5 - Motor Control using the RC Joystick

About this course

  • $18.00 / month with 7 day free trial
  • 80 lessons
  • 10 hours of video content

Monthly Subscription

  • Immediate access to the full course content

  • Full support during the course enrollment

  • Access to the community page

  • Access to the source code of the Course

  • 7-day free trial

  • Cancel anytime

$18 every month

Three-MONTH SUBSCRIPTION

  • Everything in the BASE subscription

  • Access to the source code of all projects in SteppeSchool

  • 7-day free trial

  • Cancel Anytime

$40 every three months

Premium

  • Everything in the base subscription

  • Access to the source code of all projects in SteppeSchool

  • 100% money-back guarantee (14 days from the order)

  • Lifetime access

$180 one-time payment

Course review
Balancing Robot Design Course reviews

It is one of the best courses I have taken. All the concepts are rigorously explained, and I love how the instructor steadily adds complexity to the system by explaining new topics.

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.

Jack Hayes

Love the PID implementation and using it to control the motor speed. Also, no doubt, the instructor covers STM32 Programming topics incredibly well

Logan Parker

The most complete guide on the balancing robot design I could find

Mateo Ríos

It is great how the teacher explains both embedded systems and control system topics. I have not encountered such kind of course before.

Cian Byrne

The course slides are incredibly helpful. The control systems and STM32 programming topics are well explained.

Julien Moreau

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.

Kunal Bhatia
Discover Insights from Our YOUTUBE Viewers
SteppeSchool Surpasses 500k Views on YouTube. Here is what people say about it

I recently bought an stm32 board and was struggling with the WS2812b when I found this channel. It helped me a lot in understanding the whole system and how to program it properly. I also bought it to manufacture a drone, and, omg, you have a video of PID implementation. God showed me the path with you.

@SBLACK420

This is literally the best thing ever. Thank you so much for making this, you have no idea how much this helped me.

@danielgerardocastanonsarmi6970

Thank you! The concepts are explained neatly, and the video is one of the best-structured ones I have watched on Kalman Filters!

@jf4-d5m

You have a true gift for teaching! You’ve got such a talent for it. Keep up the amazing work!

@artuuroDrt

This is great stuff - thank you and continue the good work!

@michaelalex5235

Excellent lesson, brilliant teaching

@cbwatters

Clear and complete. Wish I'd had this video when grinding through this process a few years ago. I'm not a fan of HAL as I need to stay close to the hardware. Great stuff!

@kenwallace6493

My god after 2 hours of searching! Finally something useful! THANK YOU

@Exarhadsgfds

FAQ

  • What do I get after the enrollment?

    You will have full access to the course content on all electronic devices. In addition, you will receive PDF slides that summarize the entire content of the course.

  • Can I ask questions during the course?

    Every lesson has a discussion section where students can ask questions. I will be happy to answer your questions and give you feedback.

  • Can I cancel the subscription any time?

    You can cancel the subscription at any time and there is no cancellation fee. You will have full course content until your access expires.

  • Can I use a different STM32 board than the one used in the course?

    Since all stm32 microcontrollers are based on the same ARM architecture, they have minor differences. Also, you can mention your board in the discussions section. I will help you set up the hardware and project.

  • Should I have prior knowledge of programming STM32 microcontrollers?

    It is preferable to have basic STM32 programming skills