The ICM-42688-P operates as a 6-axis inertial measurement unit with the following subsystem architecture:
1. MEMS Gyroscope: Three independent MEMS vibratory gyroscope elements measure angular rate around the X, Y, and Z axes. Each element uses the Coriolis effect — when a vibrating mass rotates, the Coriolis force produces a proportional displacement perpendicular to both the vibration and rotation axes. This displacement is capacitively sensed and converted to a digital signal by 16-bit ADCs. Eight programmable full-scale ranges (±15.625 to ±2000 dps) trade off resolution vs. dynamic range.
2. MEMS Accelerometer: Three independent MEMS accelerometer elements measure linear acceleration along X, Y, and Z axes using capacitive displacement sensing of proof masses suspended by silicon springs. Four programmable full-scale ranges (±2g to ±16g) are available. The 18-bit resolution in FIFO mode provides high-precision data for orientation and motion analysis.
3. Signal Processing: Raw sensor data passes through user-programmable digital low-pass filters for both gyroscope and accelerometer channels. A dedicated temperature sensor enables thermal compensation. The 2 KB FIFO buffer stores processed sensor data in 20-bit format, supporting burst reads to minimize host CPU overhead.
4. APEX Motion Engine: An on-chip hardware accelerator processes sensor data in real-time to detect motion events without host CPU intervention. Functions include pedometer (step counting), tilt detection (>35 degrees), tap detection (single/double), wake-on-motion (accelerometer threshold), raise-to-wake/sleep (gesture), and significant motion detection. These generate programmable interrupts on two interrupt pins.
5. External Clock Input: An optional external clock (31-50 kHz) can be fed to the device to synchronize the internal sample rate, reducing sensitivity drift due to temperature variation and device-to-device variation. This is critical for precision orientation estimation in AR/VR and robotics.
6. Host Interface: The configurable interface supports I3C (up to 12.5 MHz SDR / 25 MHz DDR), I2C (up to 1 MHz), or SPI (up to 24 MHz). Interface mode is selected at power-up via the AP pin state.