External AHRS Systems¶
Rather than using ArduPilot’s internal Attitude Heading Reference System (AHRS) for attitude, heading and position, it is possible to use several external systems.
Supported Systems¶
Currently, ArduPilot supports these systems:
Setup and Configuration¶
Install ArduPilot with External AHRS Support¶
External AHRS support is only available by default in ArduPilot 4.6 (or earlier) on boards with 2MB (or more) of flash. If using 4.7 (or higher) and/or boards with less than 2MB flash, please use the Custom Build Server to build your preferred firmware including External AHRS support.

More instructions on using the Custom Build Server can be found here
MicroStrain¶
AHRS_EKF_TYPE = 11 (External AHRS)
EAHRS_TYPE = 1 (VectorNAV), 2 (MicroStrain5), 5(InertialLabs), or 7(MicroStrain7)
This will replace ArduPilot’s internally generated INS/AHRS subsystems with the external system. The MicroStrain system must be configured via Sensor Connect before use. See the below section on data rates.
MicroStrain7¶
The 3DM-GQ7 supports up to 230k baud on the 3.3V TTL serial interface. The RS-232 interface supports higher baud rates, but most autopilots do not come with RS-232 interfaces.
To use the 3DM-GQ7 with 230k baud in ArduPilot, set the following data rates in SensorConnect.
IMU
Enable the Time Field at 50Hz
Scaled Ambient Pressure: 50Hz
Magnetometer Vector: 50Hz
Accelerometer Vector: 50Hz
Gyroscope Vector: 50Hz
Attitude (Quaternion): 50Hz
GNSS Receiver 1 and 2
Enable the Time Field at 2Hz
UTC Time: 2Hz
GPS Fix Information: 2Hz
Position (LLH): 2Hz
DOP Data: 2Hz
Velocity (NED): 2Hz
Estimation Filter
Position (LLH): 50Hz
Filter Status: 50Hz
Velocity (NED): 50Hz
Attitude (Quaternion): 50Hz
Position Uncertainty (LLH): 50Hz
Velocity Uncertainty (NED): 50Hz
This rates work well for platforms that run the EKF at 50Hz, such as Plane, Sub, Blimp. MicroStrain hardware and firmware for higher baud rates than 230k is in development. With higher baud rates, MicroStrain7 should be suitable for Copter and QuadPlane.