Attitude estimation course outcome

+ Mastering basic and advanced topics related to Orientation estimation

+ Learning to work with datasheets and reference manuals of sensors

+ Applying math equations in real-world applications

+ Working with SPI, and UART in polling and DMA modes

+ Streaming IMU sensor readings in real-time

+ Using an IMU sensor (gyroscope, accelerometer, and magnetometer) to compute Euler angles

+ Learning the math behind Quaternions

+ Learning the Extended Kalman Filter

+ Using the Extended Kalman Filter for Orientation estimation


Part 1: STM32 Programming

In this part of the course, participants will gain proficiency in STM32 programming, essential for embedded systems development. Beginning with an introduction and clarification of prerequisites, the course progresses to hands-on experience with STM32 CubeIDE and HAL API. Students learn to create projects, utilize SWV for efficient debugging, and master SPI for communication. The focus extends to driver development for the ICM20948 IMU sensor, covering the library's initial version and testing procedures. The section concludes with an exploration of DMA theory and configuration. Throughout this part, participants build a solid foundation in STM32 programming, acquiring skills crucial for the subsequent focus on attitude estimation.

Part 2: Orientation Estimation

Building on the STM32 programming foundation, this part of the course delves into the specialized field of attitude estimation. Participants start with Euler angles, gaining insights into frame notions, 2D rotation, and Euler angles. Practical applications involve deriving pitch, roll, and yaw angles using accelerometers, magnetometers, and gyroscopes. The introduction of the Complementary Filter enhances students' understanding of sensor fusion techniques. The course then progresses to Quaternions theory, addressing challenges such as gimbal lock and emphasizing the necessity of quaternions in attitude estimation. Students explore quaternion operations, rotation matrices, and their integration into projects. The final chapter introduces the Extended Kalman Filter, applying the theory to achieve robust sensor fusion for accurate attitude estimation. This part provides participants with a comprehensive understanding of attitude estimation algorithms, allowing them to integrate these concepts into real-world applications.

Course curriculum

    1. Introductory words

      FREE PREVIEW
    2. STM32 CubeIde Project creation

      FREE PREVIEW
    3. Using SWV for printf function

      FREE PREVIEW
    4. Using SWV to plot variables

      FREE PREVIEW
    5. SPI theory

    6. SPI Configuration using STM32CubeMx

    7. SPI wirings

    8. Reading ‘Who am I’ register

    9. Sending data through SPI

    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

    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

    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

    1. Gimbal Lock or why we need quaternions

    2. Introduction to Quaternions

    3. Quaternions, practice work

    4. Quaternion Multiplication

    5. Quaternion Rotation

    6. Quaterion Rotation Example

    7. Rotation matrix based on the Quaternions

    8. Quaternion Library integration

    9. Defining multiple rotations using quaternions

About this course

  • 106 lessons
  • 11 hours of video content
  • +100 students

MONTHLY Subscription

  • Immediate access to the entire course content

  • Expert guidance during course enrollment

  • Access to the source code of the Course

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

  • Cancel anytime

$14 every month

Three-MONTH SUBSCRIPTION

  • Everything in the BASE subscription

  • Access to the source code of all projects in SteppeSchool

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

  • Cancel anytime

$32 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

$140 one-time payment

Still Unsure?
Free preview and 14-day money-back guarantee
Free-preview

Enjoy a free lesson preview to explore the clarity, organization, and practical skills my courses provide.

Canceling & 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.

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 Reviews

The amount of useful content in this course is just astonishing ! Yerkebulan Massalim (the author of all this) really guides you from scratch in his videos and takes a lots of time to explain everything needed to completly understand what we code and why code to make stable flight. I'm only at 27% progress but I already learn so much ! Also, when I had questions, the author always answered to me on the forum in a matter of hours only. I can't wait to learn more on the hardware and the filters !

AMIR FAKOUR AF OPTIMUM

i have had a great experience this far in the course, as i have just completed it. If you follow along closley and pay attention, this course will do wonders for you. I had no prior experiance on stm32 cube ide programming, and after watching the intro to programming youtubte videos, then taking the course, I have made insurmountable progress. I like the way he goes through and explains each line of code, and i woudl reccomend this to anyone.

Trout Marnell

It was an extremely valuable course. It is definitely worth taking. The topics of STM32 Programming and Attitude estimation are extremely well explained.

Sneha Joshi

The course content is excellent: STM32 Programming, IMU sensor interfacing, and Data fusion algorithms. All of these are in one place and are rigorously explained.

Liam West
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

What you'll need

+ STM32 microcontroller board

+ IMU sensor, preferably ICM20948

+ Basic knowledge of programming STM32 MCUs

+ Basic knowledge of math. You must be familiar with terms like vectors, matrix multiplication, and basic trigonometry functions (cos, sin, etc.)

 


This course is for you if ...

  • You want to learn communication interfaces including SPI, I2C, and UART along with direct memory access (DMA)

  • You want to learn algorithms and principles related to attitude estimation including Euler angles, Quaternions, Complementary filter, and the Kalman Filter.

  • You want to communicate with IMU sensors and sample data in real-time

  • You want to advance your knowledge in programming STM32 microcontrollers

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 (60 pages in total) that summarize the entire content of the course. Also, you will have the option to ask questions.

  • 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