We took the arduino schematics, changed them a bit by adding a invensense MPU-6050, a Honeywell 3-axis compass and a RS-232 interface, and wrote the (arduino) code to program the MPU so that it performs Kalman filtering on-board. The result is highly accurate yaw/pitch/roll values, and a yaw drift that is about 1 degree per second. We used it for field-oriented drive and "auto rotate to target" in this year's game.
All the schematics, source code and bill of materials in case you want to build it yourself are at
http://code.google.com/p/nav6.
The board is arduino-compatible, so you can write the code for it and program it w/the Arduino IDE. All you'll need will be a USB to RS-232 adapter cable.
This is being used by at least 3 teams we're aware of at Nationals this year.