CHR-6dm Attitude and Heading Reference System

Pololu item #: 1253

This product has been discontinued.

This product has been replaced by the CH Robotics UM6-LT Orientation Sensor.

This IMU from CH Robotics is an Attitude and Heading Reference System (AHRS) that combines three gyro axes, three accelerometer axes, three magnetic compass axes, and a powerful 32-bit ARM Cortex on one tiny, 2.7g board. An on-board Extended Kalman Filter (EKF) handles the tricky data fusion problem, reporting yaw, pitch, and roll angles at up to 300 Hz over a simple TTL serial interface. The CHR-6dm provides built-in routines for gyro bias calibration, and PC software is available for automatic soft and hard iron magnetometer calibration. The Cortex’s programming pins are exposed, and the firmware is open-source.

 Description Specs (9) Pictures (4) Resources (12) FAQs (0) On the blog (0) 

Note: This module has been replaced by the pin-compatible CHR-UM6-LT orientation sensor. Please note that while the UM6-LT is physically a drop-in replacement for the CHR-6dm, the two boards use different communication protocols.


The CHR-6dm is an Attitude and Heading Reference System (AHRS) from CH Robotics that uses a powerful 32-bit STM32F103T8 ARM Cortex M3 running at 64 MHz to process data from an ADXL335 three-axis accelerometer, a LP510AL pitch/roll rate gyro, a LY510ALH yaw rate gyro, and an HMC5843 three-axis digital magnetic compass. An on-board Extended Kalman Filter (EKF) produces estimates for yaw, pitch, and roll angles and angle rates, which can be streamed at up to 300 Hz over a simple TTL (3.3V with 5V-tolerant pins) serial interface or transmitted upon request along with raw data from any of the board’s sensors. Regardless of the transmission rate, internal angle estimates are maintained at over 500 Hz to ensure long-term accuracy. A USB-to-serial adapter can be used to connect the IMU to a computer running the free AHRS Interface PC application, which can be used for data visualization, board calibration, and AHRS settings configuration.

The CHR-6dm simplifies system integration by providing a number of automatic calibration routines, including rate gyro bias calibration, magnetometer hard and soft iron calibration, and accelerometer “zeroing” to compensate for AHRS-platform misalignment. All calibration routines are triggered by sending simple commands over the serial interface.

An on-board 3.3V regulator further simplifies integration. With possible input voltages ranging from 3.3 to 12 V and with 5V-tolerant I/O pins, the CHR-6dm can easily be integrated into a wide range of systems. The board also provides a +3.3V output that can deliver up to 400 mA to peripheral devices. The board’s pins have a 0.1" spacing, so they will work with standard 0.1" headers and breadboards.

This tiny (1.0"×0.96") orientation sensor weighs just 2.7 g, making it well suited for unmanned aerial vehicle (UAV) navigation.

Product Comparison

We carry several inertial measurement and orientation sensors. The table below compares their capabilities:

Product Name Sensors Estimation Other
Gyros (3x) Accels (3x) Mag (3x) Roll Pitch Yaw Quaternion Enclosure
Pololu MinIMU-9
CHR-6d IMU *
CHR-6dm AHRS *
CHR-UM6-LT Orientation Sensor
CHR-UM6 Orientation Sensor

* Discontinued.


  • On-board EKF produces Euler angle and angle rate outputs for yaw, pitch, and roll from 3 gyro axes, 3 accelerometer axes, and 3 magnetometer axes
  • Automatic gyro bias calibration
  • Data output rate adjustable from 20 to 300 Hz (data is internally sampled at over 500 Hz regardless of the broadcast frequency)
  • TTL UART communication interface (3.3V with 5V-tolerant pins) with baud rates up to 115,200 bps can stream data or provide updates on request
  • On-board 3.3V regulator simplifies integration
  • 3.3V output capable of delivering up to 400 mA for powering other peripherals (e.g. GPS)
  • 5V-tolerant I/O pins for easy integration with 5V systems
  • Open-source Cortex firmware (in C) with free development tools
  • Open-source PC software (Visual C# project) for data visualization, calibration, and AHRS configuration
  • Two UARTs and one SPI bus are brought out to header pins for custom applications

AHRS Interface PC software for the CHR-6dm AHRS IMU.


  • Better than 2° pitch and roll angle accuracy under static test conditions (actual performance will vary depending on EKF configuration and environment)
  • 16-bit Euler angle outputs provide 0.01° resolution
  • 3.3 – 12 V operating range
  • ±400°/s maximum measurable rotation rates
  • ±3 g accelerometer range
  • Weight: 2.7 grams (0.095 oz)
  • Size: 25.4 x 24.4 x 3 mm (1.00" x 0.96" x 0.1")

Open Source PC Application and Firmware

Both the PC application for communicating with the CHR-6dm and the CHR-6dm’s firmware are open source and available for download from the Resources tab. All of the pins needed to reprogram the STM32F103T8 ARM Cortex processor are made available to the user, as are six unused digital I/O pins that can be used for tasks such as motor control, GPS integration, pressure sensor integration, and communication with other digital devices if the firmware is modified. Pins D1 and D2 can also be configured as a second TTL UART, and pins D3 – D5 can be configured as an SPI bus. Free development tools are available.

More Videos

Application Examples

The CHR-6dm can be used in applications where a compact attitude and heading reference system is needed:

  • UAV navigation
  • Robotics
  • Motion tracking
  • General motion sensing
  • Platform stabilization
  • Image stabilization
  • Enhanced GPS navigation

People often buy this product together with:

Pololu USB-to-Serial Adapter Pololu USB-to-Serial Adapter

Related Products

UM7-LT Orientation Sensor
UM6-LT Orientation Sensor
MinIMU-9 v2 Gyro, Accelerometer, and Compass (L3GD20 and LSM303DLHC Carrier)
CHR-6d Inertial Measurement Unit
MMA7361LC 3-Axis Accelerometer ±1.5/6g
MMA7341LC 3-Axis Accelerometer ±3/9g
L3G4200D 3-Axis Gyro Carrier with Voltage Regulator
LPR510AL Dual-Axis (Pitch and Roll or XY) Gyro with ±100°/s and ±400°/s Ranges
LPY510AL Dual-Axis (Pitch and Yaw or XZ) Gyro with ±100°/s and ±400°/s Ranges
LPR550AL Dual-Axis (Pitch and Roll or XY) Gyro with ±500°/s and ±2000°/s Ranges
LPY550AL Dual-Axis (Pitch and Yaw or XZ) Gyro with ±500°/s and ±2000°/s Ranges
Pololu USB-to-Serial Adapter
LOCOSYS LS20031 66-Channel GPS Receiver Module (MT3339 Chipset)

Related Categories

Accelerometers, Gyros, & Compasses
Log In
Pololu Robotics & Electronics
Shopping cart
(702) 262-6648
Same-day shipping, worldwide
Shop Blog Forum Support
My account Comments or questions? About Pololu Contact Ordering information Distributors