Add 2 or 3 IMUs in Flight Controller

Have more than 1 IMU in Flight controller sound the best practical solution instead of using only 1 IMU because it can be increase their stabilization and accuracy right? Is it possible? The answer is YES. Since the IMU using a SPI communication, you can added more than 1 IMU into your Flight Controller. This is the example that if you use 2 IMUs configuration.

image.png

The question is, How this can be programmed into our Flight Controller?

You can programmed based on C++ on STM32CubeIDE, but you should refering to Ardupilot and define into your firmware what the IMU Series that you used in your flight controller. But remember, don't you use the same series an IMU. I recomened you use different IMU and select it based on the best practical used from their manufacture and datasheet. for example IIM-42652 has industrial grade standrad for the main IMU, ICM-42688P is the accurate IMU sensor to compare the data. For the fusion both of two IMU, you should use the Kalman Filter. A Kalman filter enhances IMU data by optimally combining sensor measurements and system dynamics to reduce noise and improve estimates of orientation, velocity, and position. If you want to refer on Industrial Flight controller that used 2 or 3 IMUs, this is Cube Orange Plus for the example from Ardupilot website. The Cube Orange/+ With ADSB-In Overview — Copter documentation

image.png

Cube Orange Plus use 2 IMU in their Board (Invensense ICM42688 IMU and ICM20948 IMU/MAG), looked into Specification on the website.

Choosing the Right IMU for Your Application

When selecting an IMU, consider the following factors:

  • Degrees of Freedom (DoF) – Most IMUs come in 6-DoF (accelerometer + gyroscope) or 9-DoF (accelerometer + gyroscope + magnetometer) configurations.
  • Accuracy & Sensitivity – Higher-end IMUs provide lower drift and better precision.
  • Power Consumption – Critical for battery-powered applications like wearables and drones.
  • Interface Compatibility – Ensure compatibility with microcontrollers, SoCs, or FPGA-based systems.

6 Axis vs 9 Axis IMU

The 9 Axis maybe sound better than 6 Axis for Flight Controller IMU right? But it doesnt necesarry at all, it depends on your necessity.

6 Axis: three-axis (XYZ) accelerometer + three-axis (XYZ) gyroscope (also called angular velocity sensor)

9 Axis IMU (AHRS) Combines Accelerometer, Gyroscope, and Magnetometer (3+3+3 axes) to provide total orientation (Roll, Pitch, Yaw). They used Algorithms (Kalman Filter, Madgwick) to fuse data: Accel gives gravity vector (Roll/Pitch), Mag gives North (Yaw), and Gyro provides fast updates and smoothing. For the example, the 9 Axis IMU is using for VR/AR tracking, sophisticated drone control, robot localization, etc.

So 6 Axis module can form VRU (Vertical Reference Unit) and IMU (Inertial Measurement Unit), 9-axis module can form AHRS (Attitude Reference System).

LSM9DS1 is the example for 9 Axis IMU, it combines 3D accelerometer, 3D gyroscope, 3D magnetometer into single chip.

lsm9ds1.pdf

image.png

The 9-axis IMU is a key component of advanced sensor fusion, forming the foundation for accurate insights across various applications. By integrating sensor fusion software and AI algorithms, industries can achieve higher standards of accuracy and efficiency.

Pro Tips

To make your guide even more valuable for beginners, consider adding these "Flight Controller" secrets:

  • Power Integrity (The LDO Factor): Mention that IMUs are extremely sensitive to power noise. Beginners should use a dedicated Low-Dropout Regulator (LDO) with high PSRR (Power Supply Rejection Ratio) specifically for the IMU to prevent "gyro drift" caused by noisy power from the motors.
  • Trace Routing: Advise them to keep the SPI traces as short as possible and to keep them away from high-current paths (like the battery leads or ESC signals) to avoid electromagnetic interference (EMI).
  • Mechanical Orientation: Remind them to look for the small dot on the chip. In the drone world, the orientation of the IMU on the PCB must be known so that the firmware can be configured to know which way is "Forward" (X), "Left/Right" (Y), and "Up/Down" (Z).
  • The "Ground" Warning: Regarding advice to ground the INT pin add a small disclaimer. Some IMUs might drive that pin HIGH by default; it is safer to suggest a 10k Ohm pull-down resistor rather than a direct short to ground to prevent accidental hardware damage during firmware boots.
DroneRacing

No comments yet. Be the first to comment!