Hello Based on my experience of using BNO055, below are some comments. Regarding the point of heading error and drift, there are a lot of factors which could contribute to this, due to the simple fact that the magnetic field is superposition of the earth magnetic field and many other sources of disturbances which are both unpredicatible and inconsistent in space and time. The fusion algorithm is continuously monitoring discrepancies caused by the volatile disturbances and when any such situation is detected, the calibration status is downgraded to indicate a need for calibration which is typically done through the well-known butterfly or figure-8 motions. Luckily, the algoirthm on BNO055 has a so-called FMC (Fast Mag Calibration) feature which makes this calibration much easier by elimiating the need for full figure 8 motions which might be challenging to do in certain cases. And hopefully this clarifies why there is not an option to turn off the "background calibration". In the 9DoF sensor fusion, to reach optimal accuracy of the heading, each sensor need to be calibrated properly, and you are right that the system calibration depends on the calibration status of each sensor before it becomes HIGH status too, but even if the status of all the 3 sensors isHIGH it's not enough to establish a HIGH for the system calibration automatically, and I think it's because what the system calibration means is it's trying to fuse all sensors to work in concert and figure out any discrepancies before it's confident to say everything is working fine. For example, you might have reached a perfect calibration status at one location outdoors where the disturbances are minimal, and the calibration profiles are saved to the NVM, and when you move indoors, the superposed magnetic environment has changed dramatically, when you load the old (stale) magnetic calibration profile which has a status of HIGH, the fusion module cann't trust that right away, instead it fuses sensor data from 3 sensors together to see if all sensors can now work in concert and agreement with each other before the system calibration status could be set to HIGH. To reach a HIGH status of the system calibration, my expereince was that one simply needs to do some more mild movements of the board and in most cases, the HIGH status should be coming pretty quickly.
... View more