This guide has been refactored and updated for more sensors, calibration storage, and more algorithms, including quaternion output. Please visit to read the new guide!
AHRS is an acronym for Attitude and Heading Reference System, a system generally used for aircraft of any sort to determine heading, pitch, roll, altitude etc.

A basic IMU (Intertial Measurement Unit) generally provides raw sensor data, whereas an AHRS takes this data one step further, converting it into heading or direction in degrees, converting the raw altitude data into standard units like feet or meters, etc.

To help you get started designing your own AHRS system, or just tp help convert raw sensor data into useful numbers that you can relate to the real world, we've created a sample AHRS sketch for the Adafruit 10-DOF IMU, Adafruit 9-DOF IMU, and Adafruit_LSM9DS0 breakouts.
The Adafruit 10-DOF breakout is required for a real AHRS system -- only the 10-DOF breakout incorporates a barometric pressure sensor capable of measuring altitude -- but we also reference the 9-DOF and LSM9DS0 breakout since this code can be used with either breakout for orientation calculations.

This guide was first published on Mar 19, 2014. It was last updated on Mar 08, 2024.

This page (Introduction) was last updated on Mar 08, 2024.

Text editor powered by tinymce.