Skip to content

MicroStrain (INS, IMU, VRU, AHRS)

MicroStrain by HBK provides high-performance inertial sensors engineered for reliability and precision in challenging environments. Widely used across industries like aerospace, robotics, industrial automation, and research, MicroStrain sensors are optimized for real-time, accurate motion tracking and orientation data.

CV7

The driver currently supports the following hardware:

  • MicroStrain CV7-AR: Inertial Measurement Unit (IMU) and Vertical Reference Unit (VRU)
  • MicroStrain CV7-AHRS: Inertial Measurement Unit (IMU) and Attitude Heading Reference System (AHRS)
  • MicroStrain CV7-INS: Inertial Measurement Unit (IMU) and Inertial Navigation System (INS).
  • MicroStrain CV7-GNSS/INS: Inertial Measurement Unit (IMU) and Inertial Navigation System (INS) combined with dual multiband (GNSS) receivers.

PX4 can use these sensors to provide raw IMU data for EKF2 or to replace EKF2 as an external INS. For more information, including user manuals and datasheets, please refer to the sensors product page.

Where to Buy

MicroStrain sensors can be purchased through HBK's official MicroStrain product page or through authorized distributors globally. For large orders, custom requirements, or technical inquiries, reach out directly to sales

Hardware Setup

Wiring

Connect the main UART port of the MicroStrain sensor to any unused serial port on the flight controller. This port needs to be specified while starting the device.

Mounting

The MicroStrain sensor can be mounted in any orientation. The default coordinate system uses X for the front, Y for the right, and Z for down, with directions marked on the device.

Firmware Configuration

PX4 Configuration

To use the MicroStrain driver:

  1. Include the module in firmware in the kconfig board configuration by setting the kconfig variables: CONFIG_DRIVERS_INS_MICROSTRAIN or CONFIG_COMMON_INS.

  2. Configure the driver mode by setting MS_MODE

  3. Reboot and start the driver

    • microstrain start -d <port>
    • To start the driver automatically when the flight controller powers on, set SENS_MS_CFG to the sensor’s connected port.

MicroStrain Configuration

  1. Rates:

    • By default, accel and gyro data are published at 500 Hz, magnetometer at 50 Hz, and barometric pressure at 50 Hz. This can be changed by adjusting the following parameters:

    • Global position, local position, attitude and odometry will be published at 250 Hz by default. This can be configured via:

    • For the CV7-GNSS/INS, the GNSS receiver 1 and 2 will publish data at 5Hz by default. This can be changed using:

    • The driver will automatically configure data outputs based on the specific sensor model and available data streams.

    • The driver is scheduled to run at twice the fastest configured data rate.

  2. Aiding measurements:

    TIP

    1. When optical flow aiding is enabled, the sensor uses the vehicle_optical_flow_vel output from the flight controller as a body-frame velocity aiding measurement.
    2. If the MicroStrain sensor does not support these aiding sources but they are enabled, sensor initialization will fail.
  3. Initial heading alignment:

    • Initial heading alignment is set to kinematic by default. This can be changed by adjusting

  4. GNSS Aiding Source Control (GNSS/INS only)

  5. Sensor to vehicle transform:

  6. IMU ranges:

    TIP

    Available range settings depend on the specific sensor and can be found in the corresponding user manual. By default, the ranges are not changed.

  7. GNSS Lever arm offsets:

Published Data

The MicroStrain driver continuously publishes sensor data to the following uORB topics:

For GNSS/INS devices, GPS data is also published to:

If used as an external INS replacing EKF2, it publishes:

otherwise the same data is published to the following topics

  • external_ins_global_position
  • external_ins_attitude
  • external_ins_local_position

TIP

Published topics can be viewed using the listener command.