AltIMU-10 v4 - drift


I just testing the AltIMU-10 v4 with arduino FIO using the minimu-9-ahrs-arduino example from
when I run the python example in Ubuntu everything goes well but the 3D representation of the sensor drift and moves alone.
can you please tell me how to make it stable?
it is a probleme of the python/arduino code or the board?
some body experiment the same probleme?

diego diaz

Hello, Diego.

In general, we do not expect much drift from that script. Could you describe the drift you are getting? Note that if you are getting drift in the yaw axis, you probably need to calibrate the magnetometer.


thanks for your fast reply
yes I’m getting the drift from in the yaw axis. i haven’t calibrate the magnetometer. Could you please let me know how to do it? do yo have any tutorial about it?

To calibrate the magnetometer, you should run the Calibrate example sketch, which you can find inside our LSM303 library, while moving the MinIMU-9 in every possible orientation. You can use the outputs from that example to update the x, y, and z min and max calibration constants (e.g. M_X_MIN, M_Z_MAX, M_Y_MIN, etc.) defined inside the MinIMU9AHRS sketch.


I remember that, before calibrating the magnetometer, the yaw was “contaminated” by pitch and roll; when i was rotating the IMU on one axys without yawing, the yaw changed 10 degrees each 20 degrees of the main axis.

It took long enough to troubleshoot this problem… to calibrate it i simply run a subroutine storing maximum and minimum values of the magnetic sensor (rotating the imu in all possibile orientations to obtain a sphere). I used those values to normalize the mag

yes I run the calibration and copy the values into MinIMU-9-Arduino-AHRS and it works very well now.
very stable and non drift.
thanks very much

I try to use AltIMU-10 v4 with the simulation minimu-9-ahrs-arduino .
I did calibration and i put the value on the arduino file.
But after all it is drifting ! more specifically Yaw angle is drifting!
If someone can help me it will be great !!


Like I mentioned earlier in this thread, we generally do not expect much drift from that script. Also, yaw drift is usually a sign of a poorly calibrated magnetometer. Did you make sure to point the AltIMU-10 in every orientation while the calibration routine was running? (Imagine your hand is surrounded by a sphere and that the AltIMU is a paint brush. If you properly calibrated, you would have effectively painted the entire inside of the sphere.)

If you have already verified that you are calibrating effectively, could you show how much drift you are getting by posting an example of the raw output?