MPU9250 vs MPU9255 Compass Calibration Problem

I run a linux board with the following configuration:
IMU9255 10-DOF on SPI “I ignore the built-in baro & compass and use only acc & gyro”
QMC5883L Compass
BMP085 Baro

This works fine.

When I use

IMU9250 9-DOF on SPI “I ignore the built-in and use only acc & gyro”
QMC5883L Compass
BMP085 Baro

The compass refuses to calibrate in many cases. and when it calibrate the yaw does not change with the yaw of the board. It changes with the pitch of the board!!!

Please note that the QMC5883L has the same physical orientation & compass_orientation param values on both boards.

Also the IMU9250 range values for acc-z from 12 to 8 and it needs to be calibrated to work fine, while IMU9255 starts working correctly without calibration. note both sensors have orientation zero.

This is very weird… I think there might be a hidden bug in the code or something I dont see in the settings.
Kindly adivse.

Solved: SPI speed needs to be 10MHz … it was defined as 5MHz and now the server is working fine.
Sensor is now used in OBAL board.

1 Like