Pixhawk 6X Pro – Different Vibration Levels Across IMUs, Which One to Trust?

Hi everyone, I’m using a Pixhawk 6X Pro flight controller, which has three IMUs: ADIS16470 (IMU1) IIM-42652 (IMU2) ICM-45686 (IMU3)
During hover in minimal wind conditions, I checked the logs and noticed a difference in vibration levels between the IMUs: IMU1 (ADIS16470): ~6–10 m/s² IMU2 (IIM-42652): ~2–4 m/s² IMU3 (ICM-45686): ~2–4 m/s² While the difference is noticeable but not too large in calm conditions, it becomes much more significant during windy conditions: IMU1 (ADIS16470): mean ~30–32 m/s², peak ~76–78 m/s² IMU2 (IIM-42652): mean ~10–12 m/s², peak ~25–27 m/s² Also, there is no IMU clipping observed on any of the sensors.
My questions are: Which IMU’s vibration data should I trust for tuning and evaluating frame vibration? Is it normal for the industrial-grade ADIS16470 to report significantly higher vibration levels compared to the other IMUs? Could this difference be caused by sensor characteristics (bandwidth, sensitivity, internal filtering) rather than actual physical vibration differences? Which IMU does ArduPilot prioritize for EKF, and should I manually select one for better performance? Any insight would be greatly appreciated, especially from those with experience using Pixhawk 6X Pro or similar multi-IMU setups. Thanks!
here is the log:
LOG - Google Drive

Yes, it is more sensitive and more accurate.

Yes, both sensor characteristics and actual physical vibration play a role.

No, the EKF does that job automatically for you.

Is general rule of thumb about vibration >30 is bad still apply? or the value is slightly higher?

1 Like

Yes, it is. That remains unchanged.

1 Like