I’ve uploaded the unmodified example RotationResist program and it says “Gyro cal” for about 1 second and then numbers slowly start counting up and down. Sometimes the yellow light goes out and then comes back on. It’s been sitting on desk for 15+ minutes. That seems too long.
That behavior seems normal. The RotationResist program displays the turn angle on the LCD after the gyro has finished calibrating, so it sounds like your unit is already done and you do not need to wait any longer. At this point, the program waits for the user to press button A to start the demo. You can find more details on how the program works in the code comments in the associated files for the RotationResist example (e.g. TurnSensor.cpp). If pressing button A does not fix the issue, can you post a video showing the problematic behavior?