Oshan Ranasinghe

Work / Electronics / Embedded / IMU Sensor Fusion

Signal Processing · Embedded

IMU Sensor Fusion

Attitude estimation system fusing 9-DOF IMU data (accelerometer, gyroscope, magnetometer) using a complementary filter and extended Kalman filter on a microcontroller.

Section

Electronics / Embedded

Stack

C · MicroPython · Kalman Filter · IMU

Category

Signal Processing · Embedded

Status

Complementary filter stable, EKF tuning ongoing

01 — Challenge

The core engineering challenge

Each IMU axis has different noise characteristics and drift rates — naive sensor fusion degrades over time in ways that only become visible in extended flight tests.

03 — Decisions

Engineering decisions and what they cost

01Prototype filter logic in MicroPython first, then port the validated algorithm to C.
02Empirical noise characterisation over 30-minute static sessions rather than relying on datasheet values.
03Log both raw and filtered output continuously so filter response can be visualised and tuned.

04 — Stack

CMicroPythonKalman FilterIMUDSPRaspberry Pi Pico