I've made a quaternion based AHRS with bonus altitude and temperature sensing using an AltIMU-10 and an Arduino Nano. It can print out orientation in either Euler angles (heading, pitch, roll), a north-east-down rotation matrix or as a quaternion over UART serial.
Features
- 50hz update rate
- Half second warm up time. Usually it is accurate instantly if it is turned on while motionless.
- Can be calibrated for installation offset so it can be installed in position at any angle.
Of course, it is free and open source. Check it out at