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
Course Content
-
CH0 - Introduction
4 lessons- 1 - Welcome to the course
- 3 - Prerequisites and is this course for you?
- 4 - Attitude estimation problem
- 5 - The pdf file contains slides to be used in the course
-
Ch 1 - STM32 Embedded programming
9 lessons- 1 - Introductory words
- 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
-
CH2 - ICM20948 Driver Development
8 lessons- 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
-
CH 3 - IMU Calibration: bias removal, normalization, and scaling
9 lessons- 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
-
CH 4 - Euler angles
10 lessons- 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
-
CH 5 - Quaternion Theory
9 lessons- 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
-
CH 6 - Quaternion Attitude estimation and Complementary Filter
8 lessons- 1 - How to obtain the Quaternions using the accelerometer?
- 2 - How to obtain the Quaternions using the magnetometer?
- 3 - How to obtain the Quaternions using the gyroscope?
- 4 - Complementary Filter for the Quaternion based Attitude Estimation
- 5 - Library Integration 1
- 6 - Library Integration 2
- 7 - Complementary Filter Library Integration/Explanation
- 8 - Quanternion Complementary Filter Test
-
CH 7 - Extended Kalman Filter Sensor Fusion
7 lessons- 1 - Linear Kalman Filter Recap
- 2 - Extended Kalman Filter Theory
- 3 - Attitude Estimation using the Extended Kalman Filter
- 4 - The extended Kalman Filter, practice work
- 5 - Library Integration 1
- 6 - Library Integration 2
- 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
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.).