Hey everyone. I recently finished a new AHRS (see the picture below). The firmware is open-source, and I thought it might be interesting to you guys. The firmware supports EKF-based Euler Angle and Quaternion estimation, depending on what you want to use (you can estimate using euler angles if you want to limit the magnetometer so that it only affects yaw). For anyone who wants to write their own estimation code, the UM6 firmware might be a good starting place.
Sourceforge project: https://sourceforge.net/projects/um6firmware/
The source code can be checked out using SVN with: