Since the likelihood of the GoPiGo, (et. al.), being moved tremendous distances sufficient to grossly affect calibration is small, there really ought to be a way to preserve the existing calibration from session to session.
This seems to be a problem with IMU/accelerometer sensors in general, as the micro:bit requires the same calibration, every stinkin’ time at power-up. Jeez! It’s not like I moved the beastie half way around the world to Hunan China or something.
Most commercial GPU navigators preserve some sense of their location session-to-session so that they have at least some clue as to where they are - and avoid a 5 minute seek-and-calibrate cycle every time the beastie is powered up.
Is there a way to read - and restore - the current calibration state of the IMU?
I found this in the datasheet for the IMU chip. Unfortunately, the PDF is “protected” so I could not copy the actual text, so I took a screen-snip.