VEX IMU Many Degrees Off

I recently started working with the new smart VEX IMU. I haven’t quite made it to integrating it in autonomous because I am playing around with the values to see how it behaves and how I can use it. When it ‘calibrates’ in the sensor setup it drifts a few degrees. When I turn the robot 90 degrees (by hand for testing, no drift or anything) it measures 80. A full 360 degree turn will return about 30 degrees short. How do I make this more accurate so it is usable in Game?? I also coded a small loop to print the rotation in a program I made, same results.

So I haven’t used the sensor but I believe what I’ve been told my people who have is that it’s consistently off a few degrees every 90 degrees, so they multiply by a scalar to compensate for it. I don’t recall them saying it was THAT far off, but I don’t know for sure. People who have worked with this might be more helpful, but if it’s consistently off by that amount try using a scalar to multiply by to compensate

1 Like

It kind of works sometimes but the amount it is off seems inconsistent

It’s extremely common to have a consistently off IMU (mines off by about 1.3%). What you’re describing seems a bit weird.

Just in case, you should try spinning in a circle like 5 times, and than repeating that a couple more times. If you find the IMU is off, then it’s probably broken.


Between small refinements and multiplying by a scalar, I got it working good enough. Im sure I will learn more as time progresses but this should help with error correction in auton. Thanks to all who helped


The IMU may need to be re-calibrated. This is the procedure to do a full factory alignment of the inertial sensor:

Also, please, take a look at these posts about debugging IMU/Gyro sensor:


The steps for doing a factory recalibration of the Inertial Sensor can be found in the Knowledge Base: