IMU Data Legacy

Open in Claude

Note: The LEGACY IMU profile preserves the original IMU behavior from firmware versions prior to v3.2. Use ACCEL32_GYRO32_NMEA for new integrations.

Set udp_profile_imu to LEGACY to activate the legacy IMU packet format.

Overview

Legacy IMU packets do not include the configurable packet header or packet footer. Each legacy IMU data block is 48 bytes and contains separate timestamps for diagnostic, accelerometer, and gyroscope readout time.

IMU Data Block

Each LEGACY IMU data block contains:

  • IMU Diagnostic Time [64 bit unsigned int] — Timestamp of monotonic system time since boot in nanoseconds.
  • Accelerometer Read Time [64 bit unsigned int] — Timestamp for accelerometer time relative to timestamp_mode in nanoseconds.
  • Gyroscope Read Time [64 bit unsigned int] — Timestamp for gyroscope time relative to timestamp_mode in nanoseconds.
  • Acceleration in X-axis [32 bit float] — Acceleration in g.
  • Acceleration in Y-axis [32 bit float] — Acceleration in g.
  • Acceleration in Z-axis [32 bit float] — Acceleration in g.
  • Angular Velocity about X-axis [32 bit float] — Angular velocity in deg per sec.
  • Angular Velocity about Y-axis [32 bit float] — Angular velocity in deg per sec.
  • Angular Velocity about Z-axis [32 bit float] — Angular velocity in deg per sec.

The first timestamp (Words 0–1) is for diagnostics only and is rarely needed. The second and third timestamps (Words 2–3 and 4–5) share the same clock as the lidar data and should be used for most applications. Ouster provides separate gyro and accelerometer timestamps for low-level access; for most use cases, averaging the two is sufficient.

Data Rate Reference

ProductIMU Packet Size (Bytes)IMU Packets per Second
OS1-1648100
OS0-32, OS1-32, OS2-3248100
OS0-64, OS1-64, OS2-6448100
OS0-128, OS1-128, OS2-12848100