STM32 Attitude Estimation: IMU, Euler Angles, Filters

 

Master attitude estimation: IMU sensor interfacing, Euler angles, Quaternions, and Kalman Filter. Learn practical STM32 programming for SPI, UART, and Timer interrupts.

Enroll Now

Highly Practical

What you'll learn

 ✔ 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

Video Poster Image

Course Content

  1. CH0 - Introduction

    4 lessons
    1. 1 - Welcome to the course
    2. 3 - Prerequisites and is this course for you?
    3. 4 - Attitude estimation problem
    4. 5 - The pdf file contains slides to be used in the course
  2. Ch 1 - STM32 Embedded programming

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

    8 lessons
    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
  4. CH 3 - IMU Calibration: bias removal, normalization, and scaling

    9 lessons
    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
  5. CH 4 - Euler angles

    10 lessons
    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
  6. CH 5 - Quaternion Theory

    9 lessons
    1. 1 - Gimbal Lock or why we need quaternions
    2. 2 - Introduction to Quaternions
    3. 3 - Quaternions, practice work
    4. 4 - Quaternion Multiplication
    5. 5 - Quaternion Rotation
    6. 6 - Quaterion Rotation Example
    7. 7 - Rotation matrix based on the Quaternions
    8. 8 - Quaternion Library integration
    9. 9 - Defining multiple rotations using quaternions
  7. CH 6 - Quaternion Attitude estimation and Complementary Filter

    8 lessons
    1. 1 - How to obtain the Quaternions using the accelerometer?
    2. 2 - How to obtain the Quaternions using the magnetometer?
    3. 3 - How to obtain the Quaternions using the gyroscope?
    4. 4 - Complementary Filter for the Quaternion based Attitude Estimation
    5. 5 - Library Integration 1
    6. 6 - Library Integration 2
    7. 7 - Complementary Filter Library Integration/Explanation
    8. 8 - Quanternion Complementary Filter Test
  8. CH 7 - Extended Kalman Filter Sensor Fusion

    7 lessons
    1. 1 - Linear Kalman Filter Recap
    2. 2 - Extended Kalman Filter Theory
    3. 3 - Attitude Estimation using the Extended Kalman Filter
    4. 4 - The extended Kalman Filter, practice work
    5. 5 - Library Integration 1
    6. 6 - Library Integration 2
    7. 7 - Extended Kalman Filter demo

Target audience

Built For Engineers Like You

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

 

Basic

€40

€80

 Lifetime access

 37 lessons

 8 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.

Requirments

WHAT you'll need

 

STM32 microcontroller board

IMU sensor, preferably ICM20948

Basic knowledge of programming STM32 MCUs

Basic understanding of math. You should be familiar with terms such as vectors, matrix multiplication, and basic trigonometric functions (cos, sin, etc.).

More Details

Frequently-asked questions