I've mounted the CMPS10 on my robot. The factory calibration was okay in terms of North and South, but the compass suffers serious deviation problems with East and West, both of them reading about 20deg towards the North (ie, E was actually around 70 and W around 290).
I'm assuming this is to do with the metal on the robot. (As a pilot, I'm familiar with this problem.)
So, I did a calibration. The first attempt had little effect, but the second attempt seemed to cure the problem. And then, in the same session (ie, without powering down anything) the problem returned. I tried calibrating again, but it only improved a little.
Is it possible for the servos or something else on the robot to throw the compass out of whack again - ie, to undo the calibration?
FYI, I actually don't need accurate compass bearings as such, just relative bearings - ie, I don't care if the robot is accurately pointing north when it thinks it is. What I do need is for a change of bearing from north to east to be a reasonably accurate 90 degrees.