IMU 10DOF - MPU9250 - MS5611 - problems

i have bought your 10DOF IMU, but i am having big troubles in getting it to work correctly with SPI.

I have written an arduino programm that reads the MPU values. The code should work.

This is an example of the output, the who am i register always returns correctly, but the sensor values are jumping around like crazy even though the sensor is not moving at all.

-< WhoAmI: 113
-< Accel: -6300;6184;-13728 - Temp: 2432 - Gyro: 492;151;-496
-< WhoAmI: 113
-< Accel: -5788;6568;-12928 - Temp: 2944 - Gyro: 500;202;-853
-< WhoAmI: 113
-< Accel: -5496;5868;-12424 - Temp: 5584 - Gyro: 634;178;-484
-< WhoAmI: 113
-< Accel: -6116;6096;-13904 - Temp: 7568 - Gyro: 774;204;-570
-< WhoAmI: 113
-< Accel: -6024;6068;-14024 - Temp: 2848 - Gyro: 364;96;-667
-< WhoAmI: 113
-< Accel: -5260;5468;-13692 - Temp: 8544 - Gyro: 647;138;-205

It seems that the MS5611 interfering with the bus, no matter how the CS_MS pin is set. Does any body experience problems like this? Or do you have any ideas how to solve that issue?


Hi pico,

does your program calibrates the sensor?

No, it doesn’t yet. I am just returning the sensor values, but these values were taken within 500ms.

Before I have only used an MPU6050 via i2c and the values were much more steady without doing anything. I mean look at the temperature values, they are ranging from 2432 to 8544. Converted to degree celsius that would be a big difference.

I have already tried to read data using Arduino libraries and i have written a simple avr program to read the data, but it’s always the same thing. Could you please provide me with some sample code that you can confirm as working for this IMU?

Just SPI reading the basic registers would be fine. I can port it to any of my µcs if neccessary.