Suggestions for very accurate sensor to use for heading indoors?

My robot odometry does surprisingly well for distance, but just a couple of turns and the heading creeps wayyy off of the actual heading (just with odometry). My robot is a roomba...Would those magnetometer or compass modules work well enough or be thrown off because of the fields from the robot? Other suggestions and general guidance appreciated... Links or model numbers also appreciated. Bonus points if it's a 3.3volt module as the navigation computer is a raspberry pi.

Bonus points if it's a 3.3volt module as the navigation computer is a raspberry pi.

So, what is the Arduino doing?

The Arduinos (plural) are used for power management, watchdog applications over the two raspberry pis, and interfacing other sensors to the Pis. In the name of getting data as absolutely fast as possible to the navigation computer while the robot is in motion, I want the heading to skip any middlemen. So....you have no useful information?