I'm using the BNO055 in NDOF mode with full calibration, and if the sensor was off all-night, it works fine for like 10-minutes the following morning, the mag euler reading is very accurate and sharp, no noise at all. After 10-minutes, that changes, the mag euler reading seems to be noisy when coming to a stop (probably moving too, but obviously can't tell for sure).
If I move from 120 degrees to 140 degrees (or any combination of heading), it gets to 140 and instead of being rock solid and accurate like normal, it will bounce +/- 2 degrees from the actual heading, and after about 4 seconds, the bouncing stops and the heading is accurate and solid, but the same thing will happen if I move it again.
So for example, if I went from 100 degrees to 110 degrees, the readings will look something like this:
[111.00] <-- Device stops moving, it stops ahead of true heading
[111.60]
[111.56]
[111.24] <-- Starts dropping
[111.00]
[110.94]
[110.82]
[110.70]
[110.36]
[110.06]
[110.00]
[109.88] <-- Goes below true heading
[109.64]
[109.36]
[109.64]
[109.76]
[109.88]
[110.00] <-- Normalizes at true heading
This is a close representation of what's happening, although the readings are in the thousands of samples since it's in NDOF mode. But this very example happens everytime... It's fine when it's still, but moving it causes it to be jumpy after stopping.
And I'll reiterate, this starts seemingly at random after ~10 minutes of operation, and if the device is acting up, restarting it does not fix the problem, it will still act up unless I leave it for an hour or so.
I've tried many different layouts, including my own board, my own breakout board, and an adafruit breakout board, different MCUs, different software, different PCs, different power sources... I have definitively and meticulously ruled out all other hardware and software, it is for sure the BNO055 causing the issue.
What could this be?