IMU Data Legacy
Note: The
LEGACYIMU profile preserves the original IMU behavior from firmware versions prior to v3.2. UseACCEL32_GYRO32_NMEAfor 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_modein nanoseconds. - Gyroscope Read Time [64 bit unsigned int] — Timestamp for gyroscope time relative to
timestamp_modein 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.

