I’ve got a few issues with calibrating my CMPS14. I’ll start out by asking if someone can explain how the CMPS14 “calibrates”? (Maybe this is a general question for all electronic compasses.) If I can understand it, maybe I won’t need a subsequent post about my issues.
Calibration involves an instrument that measures a quantity that may have an error in its measured value, that is corrected by using the instrument to measure a KNOWN quantity, and then using the error term to derive a correction factor. For instance, if it’s an electronic thermometer, we would put the thermometer in a chamber that has a known temperature, measure the temp with the thermometer, and save the error in degrees, and apply a correction in all future measurements using this offset.
So what is CMPS14 (BNO080) calibration? Reading the literature and manuals, I see all kinds of statements like “make a couple random motions”, “background calibration”, “rotate in each axis by at least 180 degrees”, etc. No where do I see a well-defined calibration procedure, that has a start and end, and involves pointing the device in a known direction!!! How can this work? How can this device calibrate without a known direction?? I can only conclude that this is not calibration in a strict sense, but is some kind of internal compensation of some unknown quantity.
How does “background calibration” work without a known reference? Is this somehow compensating for local magnetic disturbances? What is the time scale of this? I assume the “profile” is saved in non-volatile memory and then when the device is re-booted, the background calibration continues where it left off?