Is there a way to log the data that you receive from the sensor? Would it be possible to share the log of one of the BNO055 that drifts in NDoF mode.
My hunch is that the magnetic field in the environment changes during this 12 hour period. The likelyhood that the heading drifts for a stationary sensor is otherwise very unlikely.
Here are two sample logs taken over the past 1+ hour - one of a good sensor and one of a bad.
In the logs I am printing out the following:
- current time and uptime of the device
- the current xyz data for each of accelerometer, magnetometer and gyroscope e.g. Ax=-5 Ay=973 Az=-53 Mx=-300 My=1574 Mz=-561 Gx=2 Gy=0 Gz=-3
- fw version, selftest result (register 0x36), main clock status (register 0x38), system status (register 0x39), system error (register 0x3A) e.g. v785 st=0F c=0 s=05 e=00
- current calibration status of each of the system (sc), gyroscope (gc), accelerometer (ac) and magnetometer (mc)
- absolute heading (in degrees) value calculated from the quaternion values e.g. QH=90.650
- heading, roll and pitch values (in degrees) which are calculated relative to an initial reading which occurred at 130 seconds into the test on the good sensor and 72 seconds on the bad sensor
As you can see from these logs, the releative heading angle is seen to drift by 10 degrees in just over an hour on the bad sensor whilst the good sensor has remained stable within 1 degree.
Thanks in advance.
That could explain why I have seen these calibration values to change at times when their operating environment has not changed at all.
Having said that, larger current draw from other modules (i.e. when powering up) on the board seem to correlate at times with some of these jumps. Possibly something to look into further?
Sorry for not being more specific earlier, would it possible to share the logs in a csv similar format?
Time, Ax, Ay,Az,Mx...
1234, 56, 67,78,...