Image not available
Illustrative purposes only
ICM-20689
MEMS Module, MotionTracking Series, 3-Axis Gyroscope/Accelerometer, ±16g, 1.71 V to 3.45 V, QFN-24
⚠️ Reference pricing provided. In case of supply shortages, we will connect you with our trusted procurement partners to ensure your project's continuity.
- Manufacturer: TDK INVENSENSE
- Product type: MEMS Modules
- MEMS Module Function:-; Supply Voltage Min:1.71V; Supply Voltage Max:3.45V; Sensor Case Style:QFN; No. of Pins:24Pins; Gyroscope Range:± 250°/s, ± 500°/s, ± 1000°/s, ± 2000°/s; A
- MSL: MSL 3 - 168 hours
- SVHC: No SVHC (15-Jun-2015)
- No. of Pins: 24Pins
- Sensor Type: Accelerometer, Gyroscope
- Sensing Axis: X, Y, Z
- Product Range: -
- Output Interface: I2C, SPI
- Sensor Case Style: QFN
- Supply Voltage Max: 3.45V
- Supply Voltage Min: 1.71V
- Sensor Case / Package: QFN
- Operating Temperature Max: 85°C
- Operating Temperature Min: -40°C
- Sensing Range - Gyroscope: ± 250°/s, ± 500°/s, ± 1000°/s, ± 2000°/s
- Temperature Sensing Range: -
- Sensing Range - Accelerometer: ± 2g, ± 4g, ± 8g, ± 16g
| Delivery and price | |
|---|---|
| Units per pack | 10 |
| Price | 3.6 € |
| Current stock | 10+ |
| Lead time | 30 days |
## _**ICM-20689**_
## High Performance 6-Axis MEMS MotionTracking™ Device in 4x4 mm Package
## **GENERAL DESCRIPTION**
The ICM-20689 is a 6-axis MotionTracking device that combines a 3-axis gyroscope, 3-axis accelerometer, and a Digital Motion Processor™ (DMP) in a small 4x4x0.9 mm (24pin QFN) package.
- Large 4K-byte FIFO to reduce traffic on the serial bus interface, and reduce power consumption by allowing the system processor to burst read sensor data and then go into a low-power mode
- Gyroscope programmable FSR of ±250dps, ±500dps, ±1000dps and ±2000dps
- Accelerometer with Programmable FSR of ±2g, ±4g, ±8g and ±16g
- EIS FSYNC support
ICM-20689 includes on-chip 16-bit ADCs, programmable digital filters, an embedded temperature sensor, and programmable interrupts. The device features an operating voltage range down to 1.71 V. Communication ports include I[2] C and high speed SPI at 8 MHz.
## **ORDERING INFORMATION**
## **APPLICATIONS**
- Mobile phones and tablets
- Drones
- Motion-based game controllers
- 3D remote controls for Internet connected DTVs and set top boxes, 3D mice
- Wearable sensors for health, fitness and sports
## **FEATURES**
- User-programmable interrupts
- Wake-on-motion interrupt for low power operation of applications processor
- 4K-byte FIFO buffer enables the applications processor to read the data in bursts
- On-Chip 16-bit ADCs and Programmable Filters
- Host interface: 8 MHz SPI or 400 kHz Fast Mode I[2] C
- Digital-output temperature sensor
- VDD operating range of 1.71 V to 3.45 V
- MEMS structure hermetically sealed and bonded at wafer level
- RoHS and Green compliant
## **TYPICAL OPERATING CIRCUIT**
||**PART**|**TEMP RANGE**|**PACKAGE**|
|---|---|---|---|
||ICM-20689†|−40°C to +85°C|24-Pin QFN|
|†Denotes RoHS and Green-Compliant Package||||
## **BLOCK DIAGRAM**
**==> picture [268 x 204] intentionally omitted <==**
**----- Start of picture text -----**<br>
24 23 22 21 20 19<br>1 18<br>2 17 GND<br>3 16<br>ICM-20689<br>4 15<br>5 14<br>VDD: 1.71 – 3.45 VDC<br>6 13<br>7 8 9 10 11 12<br>C4, 2.2µ F C2, 0.1µ F<br>VDDIO: 1.71 – 3.45 VDC<br>a<br>FSYNC INT GND GND<br>C3, 10nF C1, 0.47µ F<br>L T}<br>GND GND<br>AD0/SDO<br>nCS<br>SDA/SDI SCL/SCLK<br>**----- End of picture text -----**<br>
**TDK Corporation** 1745 Technology Drive, San Jose, CA 95110 U.S.A +1(408) 988–7339
InvenSense reserves the right to change the detail specifications as may be required to permit improvements in the design of its products.
Document Number: DS-000114 Revision: 2.2 Revision Date: 03/14/2018
www.invensense.com
_**ICM-20689**_
## **TABLE OF CONTENTS**
||General Description ............................................................................................................................................. 1|General Description ............................................................................................................................................. 1|
|---|---|---|
||Ordering Information ........................................................................................................................................... 1||
||Block Diagram ...................................................................................................................................................... 1|Block Diagram ...................................................................................................................................................... 1|
||Applications ......................................................................................................................................................... 1||
||Features ............................................................................................................................................................... 1||
||Typical Operating Circuit ...................................................................................................................................... 1||
|1|Introduction ......................................................................................................................................................... 7||
||1.1|Purpose and Scope .................................................................................................................................... 7|
||1.2|Product Overview...................................................................................................................................... 7|
||1.3|Applications ............................................................................................................................................... 7|
|2|Features ............................................................................................................................................................... 8||
||2.1|Gyroscope Features .................................................................................................................................. 8|
||2.2|Accelerometer Features ............................................................................................................................ 8|
||2.3|Additional Features ................................................................................................................................... 8|
||2.4|Motion Processing .................................................................................................................................... 8|
|3|Electrical Characteristics ...................................................................................................................................... 9||
||3.1|Gyroscope Specifications .......................................................................................................................... 9|
||3.2|Accelerometer Specifications .................................................................................................................. 10|
||3.3|Electrical Specifications ........................................................................................................................... 11|
||3.4|I2C Timing Characterization ..................................................................................................................... 15|
||3.5|SPI Timing Characterization .................................................................................................................... 16|
||3.6|Absolute Maximum Ratings .................................................................................................................... 17|
|4|Applications Information ................................................................................................................................... 18||
||4.1|Pin Out Diagram and Signal Description ................................................................................................. 18|
||4.2|Typical Operating Circuit ......................................................................................................................... 19|
||4.3|Bill of Materials for External Components .............................................................................................. 19|
||4.4|Block Diagram ......................................................................................................................................... 20|
||4.5|Overview ................................................................................................................................................. 20|
||4.6|Three-Axis MEMS Gyroscope with 16-bit ADCs and Signal Conditioning ............................................... 21|
||4.7|Three-Axis MEMS Accelerometer with 16-bit ADCs and Signal Conditioning ......................................... 21|
||4.8|Digital Motion Processor ......................................................................................................................... 21|
||4.9|I2C and SPI Serial Communications Interfaces ........................................................................................ 21|
||4.10|Self-Test .............................................................................................................................................. 22|
||4.11|Clocking ............................................................................................................................................... 22|
||4.12|Sensor Data Registers ......................................................................................................................... 22|
||4.13|FIFO ..................................................................................................................................................... 23|
||4.14|Interrupts ............................................................................................................................................ 23|
||4.15|Digital-Output Temperature Sensor ................................................................................................... 23|
Page 2 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
_**ICM-20689**_
|‘TDK|‘TDK|<br>**_ICM-20689_**<br>‘TDK InvenSense|
|---|---|---|
||4.16|Bias and LDOs ..................................................................................................................................... 23|
||4.17|Charge Pump ...................................................................................................................................... 23|
||4.18|Standard Power Modes ...................................................................................................................... 23|
|5|Programmable Interrupts .................................................................................................................................. 24||
||5.1|Wake-on-Motion Interrupt ..................................................................................................................... 24|
|6|Digital Interface ................................................................................................................................................. 25||
||6.1|I2C and SPI Serial Interfaces .................................................................................................................... 25|
||6.2|I2C Interface ............................................................................................................................................. 25|
||6.3|I2C Communications Protocol ................................................................................................................. 25|
||6.4|I2C Terms ................................................................................................................................................. 28|
||6.5|SPI Interface ............................................................................................................................................ 29|
|7|Serial Interface Considerations .......................................................................................................................... 30||
||7.1|ICM-20689 Supported Interfaces ............................................................................................................ 30|
|8|Assembly ............................................................................................................................................................ 31||
||8.1|Orientation of Axes ................................................................................................................................. 31|
||8.2|Package Dimensions ................................................................................................................................ 32|
|9|Part Number Package Marking .......................................................................................................................... 33||
|10|Register Map ...................................................................................................................................................... 34||
|11|Register Descriptions ......................................................................................................................................... 36||
||11.1|Registers 0 to 2 – Gyroscope Self-Test Registers ................................................................................ 36|
||11.2|Registers 13 to 15 – Accelerometer Self-Test Registers ..................................................................... 36|
||11.3|REGISTER 19 – Gyro Offset Adjustment Register................................................................................ 37|
||11.4|Register 20 – Gyro Offset Adjustment Register .................................................................................. 37|
||11.5|Register 21 – Gyro Offset Adjustment Register .................................................................................. 37|
||11.6|Register 22 – Gyro Offset Adjustment Register .................................................................................. 38|
||11.7|Register 23 – Gyro Offset Adjustment Register .................................................................................. 38|
||11.8|Register 24 – Gyro Offset Adjustment Register .................................................................................. 38|
||11.9|Register 25 – Sample Rate Divider ...................................................................................................... 38|
||11.10|Register 26 – Configuration ................................................................................................................ 39|
||11.11|Register 27 – Gyroscope Configuration .............................................................................................. 40|
||11.12|Register 28 – Accelerometer Configuration ....................................................................................... 40|
||11.13|Register 29 – Accelerometer Configuration 2..................................................................................... 40|
||11.14|Register 30 – Low Power Mode Configuration ................................................................................... 42|
||11.15|Register 31 – X-Axis Wake-on Motion Threshold (Accelerometer) .................................................... 42|
||11.16|Register 32 – Y-Axis Wake-on Motion Threshold (Accelerometer) .................................................... 43|
||11.17|Register 33 – Z-Axis Wake-on Motion Threshold (Accelerometer) .................................................... 43|
||11.18|Register 35 – FIFO Enable ................................................................................................................... 43|
||11.19|Register 54 – FSYNC Interrupt Status.................................................................................................. 43|
||11.20|Register 55 – INT/DRDY Pin / Bypass Enable Configuration ............................................................... 44|
Page 3 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
_**ICM-20689**_
|‘TDK|‘TDK|<br>**_ICM-20689_**<br>‘TDK InvenSense|
|---|---|---|
||11.21|Register 56 – Interrupt Enable ............................................................................................................ 44|
||11.22|Register 57 – DMP Interrupt Status .................................................................................................... 44|
||11.23|Register 58 – Interrupt Status ............................................................................................................. 45|
||11.24|Registers 59 to 64 – Accelerometer Measurements .......................................................................... 45|
||11.25|Registers 65 and 66 – Temperature Measurement ............................................................................ 46|
||11.26|Registers 67 to 72 – Gyroscope Measurements ................................................................................. 46|
||11.27|Register 104 – Signal Path Reset ......................................................................................................... 47|
||11.28|Register 105 – Accelerometer Intelligence Control ............................................................................ 47|
||11.29|Register 106 – User Control ................................................................................................................ 47|
||11.30|Register 107 – Power Management 1 ................................................................................................ 48|
||11.31|Register 108 – Power Management 2 ................................................................................................ 48|
||11.32|Register 114 and 115 – FIFO Count Registers .................................................................................... 49|
||11.33|Register 116 – FIFO Read Write .......................................................................................................... 49|
||11.34|Register 117 – Who Am I ................................................................................................................... 49|
||11.35|Registers 119, 120, 122, 123, 125, 126 Accelerometer Offset Registers ............................................ 50|
|12|Reference ........................................................................................................................................................... 51||
|13|Revision History ................................................................................................................................................. 52|Revision History ................................................................................................................................................. 52|
Page 4 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
_**ICM-20689**_
## **LIST OF FIGURES**
|Figure 1. I|Figure 1. I2C Bus Timing Diagram ............................................................................................................................................................. 15|
|---|---|
|Figure 2. SPI Bus Timing Diagram ............................................................................................................................................................. 16|Figure 2. SPI Bus Timing Diagram ............................................................................................................................................................. 16|
|Figure 3. Pin out Diagram for ICM-20689 ................................................................................................................................................ 18|Figure 3. Pin out Diagram for ICM-20689 ................................................................................................................................................ 18|
|Figure 4. ICM-20689 Application Schematic ............................................................................................................................................ 19|Figure 4. ICM-20689 Application Schematic ............................................................................................................................................ 19|
|Figure 5. ICM-20689 Block Diagram ......................................................................................................................................................... 20|Figure 5. ICM-20689 Block Diagram ......................................................................................................................................................... 20|
|Figure 6. ICM-20689 Solution Using I|Figure 6. ICM-20689 Solution Using I2C Interface .................................................................................................................................... 21|
|Figure 7. ICM-20689 Solution Using SPI Interface ................................................................................................................................... 22|Figure 7. ICM-20689 Solution Using SPI Interface ................................................................................................................................... 22|
|Figure 8. START and STOP Conditions ...................................................................................................................................................... 25|Figure 8. START and STOP Conditions ...................................................................................................................................................... 25|
|Figure 9. Acknowledge on the I|Figure 9. Acknowledge on the I2C Bus ..................................................................................................................................................... 26|
|Figure 10. Complete I|Figure 10. Complete I2C Data Transfer ..................................................................................................................................................... 27|
|Figure 11. Typical SPI Master/Slave Configuration .................................................................................................................................. 29|Figure 11. Typical SPI Master/Slave Configuration .................................................................................................................................. 29|
|Figure 12. I/O Levels and Connections ..................................................................................................................................................... 30|Figure 12. I/O Levels and Connections ..................................................................................................................................................... 30|
|Figure 13. Orientation of Axes of Sensitivity and Polarity of Rotation .................................................................................................... 31|Figure 13. Orientation of Axes of Sensitivity and Polarity of Rotation .................................................................................................... 31|
Page 5 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
_**ICM-20689**_
## **LIST OF TABLES**
|**LIST OF TABLES**|**LIST OF TABLES**|
|---|---|
|Table 1. Gyroscope Specifications ............................................................................................................................................................. 9|Table 1. Gyroscope Specifications ............................................................................................................................................................. 9|
|Table 2. Accelerometer Specifications ..................................................................................................................................................... 10|Table 2. Accelerometer Specifications ..................................................................................................................................................... 10|
|Table 3. D.C. Electrical Characteristics ..................................................................................................................................................... 11|Table 3. D.C. Electrical Characteristics ..................................................................................................................................................... 11|
|Table 4. A.C. Electrical Characteristics ..................................................................................................................................................... 13|Table 4. A.C. Electrical Characteristics ..................................................................................................................................................... 13|
|Table 5. Other Electrical Specifications .................................................................................................................................................... 14|Table 5. Other Electrical Specifications .................................................................................................................................................... 14|
|Table 6. I|Table 6. I2C Timing Characteristics ........................................................................................................................................................... 15|
|Table 7. SPI Timing Characteristics (8MHz Operation) ............................................................................................................................ 16|Table 7. SPI Timing Characteristics (8MHz Operation) ............................................................................................................................ 16|
|Table 8. Absolute Maximum Ratings ....................................................................................................................................................... 17|Table 8. Absolute Maximum Ratings ....................................................................................................................................................... 17|
|Table 9. Signal Descriptions ..................................................................................................................................................................... 18|Table 9. Signal Descriptions ..................................................................................................................................................................... 18|
|Table 10. Bill of Materials ........................................................................................................................................................................ 19|Table 10. Bill of Materials ........................................................................................................................................................................ 19|
|Table 11. Standard Power Modes for ICM-20689.................................................................................................................................... 23|Table 11. Standard Power Modes for ICM-20689.................................................................................................................................... 23|
|Table 12. Table of Interrupt Sources ........................................................................................................................................................ 24|Table 12. Table of Interrupt Sources ........................................................................................................................................................ 24|
|Table 13. Serial Interface ......................................................................................................................................................................... 25|Table 13. Serial Interface ......................................................................................................................................................................... 25|
|Table 14. I|Table 14. I2C Terms .................................................................................................................................................................................. 28|
Page 6 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
_**ICM-20689**_
## _**1 INTRODUCTION**_
## **1.1 PURPOSE AND SCOPE**
This document is a product specification, providing a description, specifications, and design related information on the ICM-20689 MotionTracking® device. The device is housed in a small 4x4x0.9 mm 24-pin QFN package.
## **1.2 PRODUCT OVERVIEW**
The ICM-20689 is a 6-axis MotionTracking device that combines a 3-axis gyroscope, a 3-axis accelerometer, and a Digital Motion Processor™ (DMP) in a small 4x4x0.9 mm (24-pin QFN) package. It also features a 4 Kbyte FIFO that can lower the traffic on the serial bus interface, and reduce power consumption by allowing the system processor to burst read sensor data and then go into a lowpower mode. ICM-20689, with its 6-axis integration, on-chip DMP, and run-time calibration firmware, enables manufacturers to eliminate the costly and complex selection, qualification, and system level integration of discrete devices, guaranteeing optimal motion performance.
The gyroscope has a programmable full-scale range of ±250, ±500, ±1000, and ±2000 degrees/sec. The accelerometer has a userprogrammable accelerometer full-scale range of ±2 _g_ , ±4 _g_ , ±8 _g_ , and ±16 _g_ . Factory-calibrated initial sensitivity of both sensors reduces production-line calibration requirements.
Other industry-leading features include on-chip 16-bit ADCs, programmable digital filters, an embedded temperature sensor, and programmable interrupts. The device features I[2] C and SPI serial interfaces, a VDD operating range of 1.71 V to 3.45 V, and a separate digital IO supply, VDDIO from 1.71 V to 3.45 V. Communication with all registers of the device is performed using either I[2] C at 400 kHz or SPI at 8 MHz.
By leveraging its patented and volume-proven CMOS-MEMS fabrication platform, which integrates MEMS wafers with companion CMOS electronics through wafer-level bonding, InvenSense has driven the package size down to a footprint and thickness of 4x4x0.9 mm (24-pin QFN), to provide a very small yet high-performance, low-cost package. The device provides high robustness by supporting 10,000 _g_ shock reliability.
## **1.3 APPLICATIONS**
- Mobile phones and tablets
- Drones
- Handset and portable gaming
- Motion-based game controllers
- 3D remote controls for Internet connected DTVs and set top boxes, 3D mice
- Wearable sensors for health, fitness and sports
Page 7 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
_**ICM-20689**_
## _**2 FEATURES**_
## **2.1 GYROSCOPE FEATURES**
- Digital-output X-, Y-, and Z-axis angular rate sensors (gyroscopes) with a user-programmable full-scale range of ±250, ±500, ±1000, and ±2000°/sec and integrated 16-bit ADCs
- Digitally-programmable low-pass filter
- Low-power gyroscope operation
- Factory calibrated sensitivity scale factor
- Self-test
## **2.2 ACCELEROMETER FEATURES**
- Digital-output X-, Y-, and Z-axis accelerometer with a programmable full scale range of ±2 _g_ , ±4 _g_ , ±8 _g_ and ±16 _g_ and integrated 16-bit ADCs
- User-programmable interrupts
- Wake-on-motion interrupt for low power operation of applications processor
- Self-test
## **2.3 ADDITIONAL FEATURES**
- Smallest and thinnest LGA package for portable devices: 4x4x0.9 mm (24-pin QFN)
- Minimal cross-axis sensitivity between the accelerometer and gyroscope axes
- 4 Kbyte FIFO buffer enables the applications processor to read the data in bursts
- Digital-output temperature sensor
- User-programmable digital filters for gyroscope, accelerometer, and temp sensor
- 10,000 _g_ shock tolerant
- 400 kHz Fast Mode I[2] C for communicating with all registers
- 8 MHz SPI serial interface for communicating with all registers
- MEMS structure hermetically sealed and bonded at wafer level
- RoHS and Green compliant
## **2.4 MOTION PROCESSING**
- Internal Digital Motion Processing™ (DMP™) engine supports advanced MotionProcessing and low power functions such as gesture recognition using programmable interrupts.
- DMP operation is possible in low-power gyroscope and low-power accelerometer modes.
- Low-power pedometer functionality allows the host processor to sleep while the DMP maintains the step count.
Page 8 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
_**ICM-20689**_
## _**3 ELECTRICAL CHARACTERISTICS**_
## **3.1 GYROSCOPE SPECIFICATIONS**
Typical Operating Circuit of section 0, VDD = 1.8 V, VDDIO = 1.8 V, TA = 25°C, unless otherwise noted.
|**PARAMETER**<br>~~a~~|**CONDITIONS**<br>|**MIN**<br>|**TYP**<br>|**MAX**<br>|**UNITS**<br>|**NOTES**<br>|
|---|---|---|---|---|---|---|
|**GYROSCOPE SENSITIVITY**<br>~~a~~|||||||
|Full-Scale Range<br>~~aef~~|FS_SEL=0<br>~~ef~~|~~ef~~|±250<br>~~ef~~|~~ef~~|°/s<br>~~ef~~|3<br>~~ef~~|
|~~|~~|FS_SEL=1<br>~~|~~|~~|~~|±500<br>~~|~~|~~|~~|°/s<br>~~|~~|3<br>~~|~~|
|~~|~~|FS_SEL=2<br>~~|~~|~~|~~|±1000<br>~~|~~|~~|~~|°/s<br>~~|~~|3<br>~~|~~|
|~~|~~<br>~~re~~|FS_SEL=3<br>~~|~~<br>~~GG~~|~~|~~<br>~~GG~~|±2000<br>~~|~~|~~|~~|°/s<br>~~|~~|3<br>~~|~~|
|Gyroscope ADC Word Length<br>~~re~~|~~GG~~|~~GG~~|16||bits|3|
|Sensitivity Scale Factor<br>~~re~~<br>~~|~~|FS_SEL=0<br>~~GG~~<br>~~|~~|~~GG~~<br>~~|~~|131<br>~~|~~|~~|~~|LSB/(°/s)<br>~~|~~|3<br>~~|~~|
|~~a~~|FS_SEL=1<br>~~a~~<br>~~QQ~~|~~a~~<br>~~QQ~~<br>~~Os~~|65.5<br>~~a~~<br>~~QQ~~<br>~~GO~~|~~a~~<br>~~QQ~~|LSB/(°/s)<br>~~a~~<br>~~QQ~~|3<br>~~a~~<br>~~QQ~~|
|~~a~~<br>~~(es~~|FS_SEL=2<br>~~a~~<br>~~QQ~~<br>~~(es~~|~~a~~<br>~~QQ~~<br>~~(es~~<br>~~Os~~|32.8<br>~~a~~<br>~~QQ~~<br>~~(es~~<br>~~GO~~|~~a~~<br>~~QQ~~<br>~~(es~~|LSB/(°/s)<br>~~a~~<br>~~QQ~~<br>~~(es~~|3<br>~~a~~<br>~~QQ~~<br>~~(es~~|
|~~(GO~~|FS_SEL=3<br>~~(GO~~|~~Os~~<br>~~(GO~~|16.4<br>~~GO~~<br>~~(GO~~|~~(GO~~|LSB/(°/s)<br>~~(GO~~<br>~~GO~~|3<br>~~(GO~~|
|SensitivityScale Factor Tolerance<br>~~GQ~~|Component-Level, 25°C<br>~~GQ~~|-3<br>~~GQ~~|±2<br>~~GQ~~|+3<br>~~GQ~~|%<br>~~GQ~~<br>~~GO~~<br>~~GO~~|2<br>~~GQ~~|
|SensitivityScale Factor Variation Over Temperature<br>~~OG~~|-40°C to +85°C<br>~~OG~~|-3<br>~~OG~~|±1.5<br>~~OG~~|+3<br>~~OG~~|%<br>~~GO~~<br>~~OG~~<br>~~GO~~|1<br>~~OG~~|
|Nonlinearity<br>~~OG~~<br>~~ef~~|Best fit straight line; 25°C<br>~~OG~~<br>~~ef~~<br>~~(ns~~|~~OG~~<br>~~ef~~<br>~~Qs~~|±0.1<br>~~OG~~<br>~~ef~~<br>~~Qs~~|~~OG~~<br>~~ef~~<br>~~Qs~~|%<br>~~OG~~<br>~~GO~~<br>~~ef~~<br>~~Qs~~|1<br>~~OG~~<br>~~ef~~|
|Cross-Axis Sensitivity<br>~~rs~~|~~rs~~<br>~~(ns~~|-5<br>~~rs~~<br>~~Qs~~|±2<br>~~rs~~<br>~~Qs~~|+5<br>~~rs~~<br>~~Qs~~|%<br>~~rs~~<br>~~Qs~~|1<br>~~rs~~|
|**ZERO-RATE OUTPUT(ZRO)**<br>~~(nsQs~~|||||||
|Initial ZRO Tolerance<br>~~a~~|Component-Level, 25°C<br>~~QO~~|-5<br>~~QO~~|~~QO~~|+5<br>~~QO~~|°/s|2|
|ZRO Variation Over Temperature<br>~~a~~|-40°C to +85°C<br>~~QO~~|-0.05<br>~~QO~~|~~QO~~|+0.05<br>~~QO~~|°/s/°C|1|
|**GYROSCOPE NOISE PERFORMANCE(FS_SEL=0)**<br>~~a~~<br>~~QO QO~~|||||||
|Noise Spectral Density<br>~~(GQ~~|~~(GQ~~|~~(GQ~~|0.006<br>~~(GQ~~|0.01<br>~~(GQ~~|°/s/√Hz<br>~~(GQ~~|1<br>~~(GQ~~|
|Gyroscope Mechanical Frequencies<br>~~(GQ~~<br>~~GG~~|~~(GQ~~<br>~~GG~~|25<br>~~(GQ~~<br>~~GG~~|27<br>~~(GQ~~<br>~~GG~~|29<br>~~(GQ~~<br>~~GG~~|kHz<br>~~(GQ~~<br>~~GG~~|2<br>~~(GQ~~<br>~~GG~~|
|Low Pass Filter Response<br>~~GG~~|Programmable Range<br>~~GG~~|5<br>~~GG~~|~~GG~~|250<br>~~GG~~<br>~~CO~~|Hz<br>~~GG~~<br>~~CO~~|3<br>~~GG~~|
|Gyroscope Start-UpTime<br>~~GG~~<br>~~GGG~~|From Sleepmode<br>~~GG~~<br>~~GGG~~|~~GG~~<br>~~GGG~~|35<br>~~GG~~<br>~~GGG~~|~~GG~~<br>~~GGG~~<br>~~CO~~|ms<br>~~GG~~<br>~~GGG~~<br>~~CO~~|1<br>~~GG~~<br>~~GGG~~|
|Output Data Rate|Standard(duty-cycled)mode|3.91||500<br>~~CO~~|Hz<br>~~CO~~|1|
||Low-Noise(active)mode|4||8000|Hz|1|
## **Table 1. Gyroscope Specifications**
## Notes:
1. Derived from validation or characterization of parts, not guaranteed in production.
2. Tested in production.
3. Guaranteed by design.
Page 9 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
_**ICM-20689**_
## **3.2 ACCELEROMETER SPECIFICATIONS**
Typical Operating Circuit of section 0, VDD = 1.8 V, VDDIO = 1.8 V, TA = 25°C, unless otherwise noted.
|**PARAMETER**<br>~~I~~<br>~~a~~|**CONDITIONS**<br>~~I~~<br>~~a~~|**MIN**<br>~~I~~<br>~~ss~~|**TYP**<br>~~I~~<br>~~ss~~|**MAX**<br>~~I~~|**UNITS**<br>~~I~~|**NOTES**<br>~~I~~|
|---|---|---|---|---|---|---|
|**ACCELEROMETER SENSITIVITY**<br>~~a~~<br>~~a~~<br>~~ss~~<br>~~a~~<br>~~Po~~|||||||
|Full-Scale Range<br>~~a~~<br>~~a~~<br>~~Po~~<br>~~Sd ee~~|AFS_SEL=0<br>~~a~~<br>~~a~~<br>|~~ss~~<br>|±2<br>~~ss~~<br>||_g_<br>|3<br>|
||AFS_SEL=1<br>~~a~~<br>||±4<br>||_g_<br>|3<br>|
||AFS_SEL=2<br>~~a~~<br>~~ESSE~~<br>~~ee~~|~~ESSE~~<br>~~ee~~|±8<br>~~ESSE~~<br>~~le~~|~~ESSE~~<br>~~le~~|_g_<br>~~ESSE~~<br>~~le~~|3<br>~~ESSE~~|
||AFS_SEL=3<br>~~a~~<br>~~ESSE~~<br>~~ee~~|~~ESSE~~<br>~~ee~~|±16<br>~~ESSE~~<br>~~le~~|~~ESSE~~<br>~~le~~|_g_<br>~~ESSE~~<br>~~le~~|3<br>~~ESSE~~|
|ADC Word Length<br>~~a~~<br>~~Po ~~<br>~~Sd ee~~<br>~~SSS~~|Output in two’s complement format<br>~~a~~<br> ~~ESSE~~<br>~~ee~~<br>~~SSS~~|~~ESSE~~<br>~~ee~~<br>~~SSS~~|16<br>~~ESSE~~<br>~~le~~<br>~~SSS~~|~~ESSE~~<br>~~le~~<br>~~SSS~~|bits<br>~~ESSE~~<br>~~le~~<br>~~SSS~~|3<br>~~ESSE~~<br>~~SSS~~|
|Sensitivity Scale Factor<br> <br>~~Sd ee~~<br>~~a~~<br>~~SSS~~<br>~~Se~~|AFS_SEL=0<br> ~~ESSE~~<br>~~ee ~~<br>~~a~~<br>~~a~~<br>~~SSS~~|~~ESSE~~<br> ~~ee ~~<br>~~SSS~~|16,384<br>~~ESSE~~<br> ~~le~~<br>~~SSS~~|~~ESSE~~<br>~~le~~<br>~~SSS~~|LSB/_g_<br>~~ESSE~~<br>~~le~~<br>~~SSS~~|3<br>~~ESSE~~<br>~~SSS~~|
||AFS_SEL=1<br>~~a~~<br>~~SSS~~|~~SSS~~|8,192<br>~~SSS~~|~~SSS~~|LSB/_g_<br>~~SSS~~|3<br>~~SSS~~|
||AFS_SEL=2<br>~~a~~<br>~~SSS~~|~~SSS~~|4,096<br>~~SSS~~|~~SSS~~|LSB/_g_<br>~~SSS~~|3<br>~~SSS~~|
||AFS_SEL=3<br>~~SSS~~<br>~~Se~~|~~SSS~~<br>~~Se~~|2,048<br>~~SSS~~|~~SSS~~|LSB/_g_<br>~~SSS~~|3<br>~~SSS~~|
|Initial Tolerance<br>~~SSS~~<br>~~Se~~|Component-Level,25°C<br>~~SSS~~<br>~~Se~~<br>~~ee~~|-3<br>~~SSS~~<br>~~Se~~<br>~~ee~~|±2<br>~~SSS~~<br>~~ee~~|+3<br>~~SSS~~|%<br>~~SSS~~|2<br>~~SSS~~|
|Sensitivity Change vs. Temperature<br>~~ee~~|-40°C to +85°C AFS_SEL=0<br>~~ee~~<br>~~ee~~|-3<br>~~ee~~<br>~~ee~~|±1<br>~~ee~~<br>~~ee~~|+3<br>~~ee~~|%<br>~~ee~~|1<br>~~ee~~|
|Nonlinearity<br>~~a~~|Best Fit Straight Line<br>~~ee~~<br>~~a~~|~~ee ~~<br>~~a~~|±0.5<br> ~~ee~~<br>~~a~~|~~a~~|%<br>~~a~~|1<br>~~a~~|
|Cross-Axis Sensitivity<br>~~a~~|~~a~~|-5<br>~~a~~|±2<br>~~a~~|+5<br>~~a~~|%<br>~~a~~|1<br>~~a~~|
|**ZERO-G OUTPUT**<br>~~a~~|||||||
|Initial Tolerance<br>~~a~~|Component-Level, 25°C<br>~~a~~<br>~~C(O~~|-80<br>~~a~~<br>~~C(O~~|~~a~~<br>~~C(O~~|+80<br>~~a~~<br>~~C(O~~|m_g_<br>~~a~~<br>~~C(O~~|2<br>~~a~~<br>~~C(O~~|
|Zero-G Level Change vs. Temperature<br>~~I~~|-40°C to +85°C<br>~~I~~|-0.75<br>~~I~~|~~I~~|+0.75<br>~~I~~|m_g_/°C<br>~~I~~|1<br>~~I~~|
|**NOISE PERFORMANCE**<br>~~I~~<br>~~|~~<br>~~GO~~<br>~~II~~|||||||
|Noise Spectral Density<br>~~|~~<br>~~Gs~~|~~|~~<br>~~Gs~~|~~|~~<br>~~Gs~~|150<br>~~|~~<br>~~Gs~~<br>~~GO~~|210<br>~~|~~<br>~~Gs~~<br>~~I~~|µ_g_/√Hz<br>~~|~~<br>~~Gs~~<br>~~I~~|1<br>~~|~~<br>~~Gs~~|
|Low Pass Filter Response|Programmable Range|5|~~GO~~|218<br>~~I ~~|Hz<br> ~~I~~|3|
|Intelligence Function Increment<br>~~a~~|~~a~~|~~a~~|4<br>~~a~~|~~a~~|m_g_/LSB<br>~~a~~|3<br>~~a~~|
|Accelerometer Startup Time<br>~~a~~|From Sleepmode<br>~~a~~|~~a~~|20<br>~~a~~|~~a~~|ms<br>~~a~~|1<br>~~a~~|
||From Cold Start,1ms VDDramp<br>~~a~~|~~a~~|30<br>~~a~~|~~a~~|ms<br>~~a~~|1<br>~~a~~|
|Output Data Rate<br>~~I~~|Standard (duty-cycled) mode<br>~~I~~|0.24<br>~~I~~|~~I~~|500<br>~~I~~|Hz<br>~~I~~|1<br>~~I~~|
||Low-Noise(active)mode<br>~~I~~|4<br>~~I~~|~~I~~|4000<br>~~I~~|Hz<br>~~I~~||
**Table 2. Accelerometer Specifications**
## Notes:
1. Derived from validation or characterization of parts, not guaranteed in production.
2. Tested in production.
3. Guaranteed by design.
Page 10 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
{TDK InvenSense
_**ICM-20689**_
## **3.3 ELECTRICAL SPECIFICATIONS**
## **3.3.1 D.C. Electrical Characteristics**
Typical Operating Circuit of section 0, VDD = 1.8 V, VDDIO = 1.8 V, TA=25°C, unless otherwise noted.
|**PARAMETER**|**CONDITIONS**|**MIN**|**TYP**|**MAX**|**UNITS**<br>||**NOTES**|
|---|---|---|---|---|---|---|
|**SUPPLY VOLTAGES**|||||||
|VDD<br>~~GO~~|~~GO~~|1.71<br>~~GO~~|1.8<br>~~GO~~<br>~~ee ee~~|3.45<br>~~GO~~<br>~~ee~~|V<br>~~GO~~<br>~~ee~~|1<br>~~GO~~|
|VDDIO<br>~~GO~~<br>~~ee~~|~~GO~~<br>~~ee~~|1.71<br>~~GO~~<br>~~ee~~|1.8<br>~~GO~~<br>~~ee~~<br>~~ee ee~~|3.45<br>~~GO~~<br>~~ee~~<br>~~ee~~|V<br>~~GO~~<br>~~ee~~<br>~~ee~~|1<br>~~GO~~<br>~~ee~~|
|**SUPPLY CURRENTS & BOOT TIME**<br>~~ee ee ee~~<br>~~SSS~~|||||||
|Normal Mode<br>~~SSS~~|6-axis Gyroscope + Accelerometer<br>~~SSS~~|~~SSS~~|3<br>~~SSS~~|~~SSS~~|mA<br>~~SSS~~|1<br>~~SSS~~|
||3-axis Gyroscope<br>~~SSS~~<br>~~ee~~|~~SSS~~<br>~~ee~~|2.6<br>~~SSS~~<br>~~ee~~|~~SSS~~<br>~~ee~~|mA<br>~~SSS~~<br>~~ee~~|1<br>~~SSS~~<br>~~ee~~|
||3-axis Accelerometer, 4kHz ODR<br>~~SSS~~<br>~~Ds~~|~~SSS~~<br>~~Ds~~|390<br>~~SSS~~<br>~~Ds~~|~~SSS~~<br>~~Ds~~|µA<br>~~SSS~~<br>~~Ds~~|1<br>~~SSS~~<br>~~Ds~~|
|Accelerometer Low -Power Mode<br>~~SSS~~<br>~~a~~<br>~~CR~~|100Hz ODR, 1x averaging<br>~~SSS~~|~~SSS~~|57<br>~~SSS~~|~~SSS~~|µA<br>~~SSS~~|2<br>~~SSS~~|
|Gyroscope Low-Power Mode<br>~~CREE~~|100Hz ODR, 1x averaging<br>~~ee~~|~~ee~~|1.6<br>~~ee~~|~~ee~~|mA<br>~~ee~~|2<br>~~ee~~|
|6-Axis Low-Power Mode (Gyroscope<br>Low-Power Mode; Accelerometer Low-<br>Noise Mode)<br>~~CREE~~|100Hz ODR, 1x averaging<br>~~ee~~|~~ee~~|1.9<br>~~ee~~|~~ee~~|mA<br>~~ee~~|2<br>~~ee~~|
|Full-ChipSleepMode<br>~~EE~~|~~ee~~|~~ee~~|6<br>~~ee~~|~~ee~~|µA<br>~~ee~~|1<br>~~ee~~|
|**TEMPERATURE RANGE**<br>~~EE~~<br>~~ee~~<br>~~a~~<br>~~ee~~|||||||
|Specified Temperature Range<br>~~a~~|Performance parameters are not applicable<br>beyond Specified Temperature Range<br>~~ee~~|-40||+85|°C|1|
**Table 3. D.C. Electrical Characteristics**
## Notes:
1. Derived from validation or characterization of parts, not guaranteed in production.
2. Based on simulation.
Page 11 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
_**ICM-20689**_
## **3.3.2 A.C. Electrical Characteristics**
Typical Operating Circuit of section 0, VDD = 1.8 V, VDDIO = 1.8 V, TA = 25°C, unless otherwise noted.
|**PARAMETER**|**CONDITIONS**|**MIN**<br>||**TYP**|**MAX**|**UNITS**|**NOTES**|
|---|---|---|---|---|---|---|
|**SUPPLIES**<br>~~eeeeeeeee~~|||||||
|Supply Ramp Time (TRAMP)<br>~~ee~~|Monotonic ramp. Ramp rate is<br>10% to 90% of the final value<br>~~ee~~|0.01<br>~~ee~~|~~ee~~<br>~~eee~~|100<br>~~ee~~<br>~~eee~~|ms<br>~~ee~~<br>~~eee~~|1<br>~~ee~~<br>~~eee~~|
|**TEMPERATURE SENSOR**<br>~~ee~~<br>~~eee eee eee~~|||||||
|OperatingRange|Ambient|-40||85|°C|1|
|Room Temperature Offset|25°C||0||°C|1|
|Sensitivity<br>~~a~~|Untrimmed<br>~~a~~|~~a~~|326.8<br>~~a~~|~~a~~|LSB/°C<br>~~a~~|1<br>~~a~~|
|**POWER-ON RESET**<br>~~a~~|||||||
|SupplyRampTime(TRAMP)<br>~~a~~|Validpower-on RESET<br>~~a~~|0.01<br>~~a~~<br>~~es~~|~~a~~<br>~~ee~~|100<br>~~a~~<br>~~ee~~|ms<br>~~a~~<br>~~ee~~|1<br>~~a~~<br>~~ee~~|
|Start-up time for register read/write<br>~~ra~~<br>||Frompower-up<br>~~ra~~|~~ra~~<br>~~es~~|11<br>~~ra~~<br>~~ee~~|100<br>~~ra~~<br>~~ee~~|ms<br>~~ra~~<br>~~ee~~|1<br>~~ra~~<br>~~ee~~|
||From sleep<br>~~ra~~<br>~~eee~~<br>|~~ra~~<br>~~es~~<br>~~ee~~<br>|~~ra~~<br>~~ee~~<br>~~eee~~<br>|5<br>~~ra~~<br>~~ee~~<br>~~ee~~<br>|ms<br>~~ra~~<br>~~ee~~<br>~~eee~~<br>|1<br>~~ra~~<br>~~ee~~<br>~~ee~~<br>|
|**I2C ADDRESS**<br>~~ee~~<br>||AD0 = 0<br>AD0 = 1<br>~~ee~~<br>~~eee~~<br>|~~es ~~<br>~~ee~~<br>~~ee~~<br>|1101000<br>1101001<br> ~~ee ~~<br>~~ee~~<br>~~eee~~<br>|~~ee~~<br>~~ee~~<br>~~ee~~<br>|~~ee~~<br>~~ee~~<br>~~eee~~<br>|~~ee~~<br>~~ee~~<br>~~ee~~<br>|
|**DIGITAL INPUTS(FSYNC, AD0, SPC, SDI, CS)**<br>~~eee ee eee ee eee ee~~<br>|<br>~~ee~~<br>~~eo~~<br>~~ee~~|||||||
|VIH, High-Level Input Voltage<br>~~————~~<br>~~ee~~|~~————~~<br>~~ee~~<br>|0.7*VDDIO<br>~~————~~<br>|~~————~~<br>~~eo~~<br>|~~————~~<br>~~eo~~<br>|V<br>~~————~~<br>~~eo~~<br>|1<br>~~————~~<br>~~eo~~|
|VIL, Low-Level Input Voltage<br>~~————~~<br>~~ee~~|~~————~~<br>~~ee~~<br>|~~————~~<br>|~~————~~<br>~~eo~~<br>|0.3*VDDIO<br>~~————~~<br>~~eo~~<br>|V<br>~~————~~<br>~~eo~~<br>||
|CI, Input Capacitance<br>~~————~~<br>~~ee ~~|~~————~~<br>~~ee~~<br> ~~eG~~|~~————~~<br>~~eG~~|< 10<br>~~————~~<br>~~eo~~<br>~~eG~~|~~————~~<br>~~eo~~<br>~~eG~~|pF<br>~~————~~<br>~~eo~~<br>~~eG~~||
|**DIGITAL OUTPUT(SDO, INT)**<br>~~ee~~<br>~~eo~~<br>~~ee ~~|||||||
|VOH, High- Level Output Voltage<br>~~ee~~|RLOAD= 1 MΩ;<br>~~ee~~|0.9*VDDIO<br>~~ee~~|~~ee~~|~~ee~~|V<br>~~ee~~|1|
|VOL1, Low-Level Output Voltage<br>~~ee~~|RLOAD= 1 MΩ;<br>~~ee~~<br>~~ee~~|~~ee~~<br>~~ee~~|~~ee~~|0.1*VDDIO<br>~~ee~~|V<br>~~ee~~||
|VOL.INT, INT Low-Level Output Voltage<br>~~ee~~<br>~~ee~~|OPEN = 1, 0.3 mA sink<br>Current<br>~~ee~~<br>~~ee~~<br>~~ee~~|~~ee~~<br>~~ee~~<br>~~ee~~|~~ee~~<br>~~ee~~|0.1<br>~~ee~~<br>~~ee~~|V<br>~~ee~~<br>~~ee~~||
|Output Leakage Current<br>~~a~~|OPEN = 1<br>~~ee~~<br>~~a~~|~~ee~~<br>~~a~~|100<br>~~a~~|~~a~~|nA<br>~~a~~||
|tINT, INT Pulse Width<br>~~a~~|LATCH_INT_EN = 0<br>~~a~~|~~a~~|50<br>~~a~~|~~a~~|µs<br>~~a~~||
|**I2C I/O (SCL, SDA)**<br>~~a~~|||||||
|VIL, Low-Level Input Voltage<br>~~ee~~|~~ee~~|-0.5 V<br>~~ee~~|~~ee~~|0.3*VDDIO<br>~~ee~~|V<br>~~ee~~|1|
|VIH, High-Level Input Voltage<br>~~ee~~|~~ee~~|0.7*VDDIO<br>~~ee~~|~~ee~~|VDDIO + 0. 5 V<br>~~ee~~|V<br>~~ee~~||
|Vhys, Hysteresis<br>~~se~~|~~se~~|~~se~~|0.1*VDDIO<br>~~se~~|~~se~~|V<br>~~se~~||
|VOL, Low-Level Output Voltage<br>~~se~~<br>~~a~~|3 mA sink current<br>~~se~~<br>~~es~~|0<br>~~se~~|~~se~~|0.4<br>~~se~~|V<br>~~se~~||
|IOL, Low-Level Output Current<br>~~se~~<br>~~ee~~<br>~~a~~|VOL= 0.4 V<br>VOL= 0.6 V<br>~~se~~<br>~~ee~~<br>~~es~~|~~se~~<br>~~ee~~|3<br>6<br>~~se~~<br>~~ee~~|~~se~~<br>~~ee~~|mA<br>mA<br>~~se~~<br>~~ee~~||
|Output Leakage Current<br>~~ee~~<br>~~a~~|~~ee~~<br>~~es~~|~~ee~~|100<br>~~ee~~|~~ee~~|nA<br>~~ee~~||
|tof, Output Fall Time from VIHmaxto VILmax<br>~~a~~|Cbbus capacitance in pf<br>~~es~~|20+0.1Cb||300|ns||
Page 12 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
_**ICM-20689**_
|**INTERNAL CLOCK SOURCE**<br>||**INTERNAL CLOCK SOURCE**<br>||**INTERNAL CLOCK SOURCE**<br>||**INTERNAL CLOCK SOURCE**<br>||**INTERNAL CLOCK SOURCE**<br>||**INTERNAL CLOCK SOURCE**<br>||**INTERNAL CLOCK SOURCE**<br>||
|---|---|---|---|---|---|---|
|Sample Rate|FCHOICE_B = 1,2,3<br>SMPLRT_DIV = 0<br>~~a~~|~~a~~|32<br>~~a~~<br>~~ee~~|~~a~~<br>~~es~~|kHz<br>~~a~~|2<br>~~a~~|
||FCHOICE_B = 0;<br>DLPFCFG = 0 or 7<br>SMPLRT_DIV = 0<br>~~es~~|~~es~~|8<br>~~es~~<br>~~ee~~|~~es~~<br>~~es~~|kHz<br>~~es~~|2<br>~~es~~|
||FCHOICE_B = 0;<br>DLPFCFG = 1,2,3,4,5,6;<br>SMPLRT_DIV = 0<br>~~ee~~<br>~~a~~|~~ee~~<br>~~ee~~|1<br>~~ee~~<br>~~ee~~|~~es~~<br>~~ee~~|kHz<br>~~ee~~|2<br>~~ee~~|
|Clock Frequency Initial Tolerance<br>~~a~~|CLK_SEL = 0, 6 or gyro inactive;<br>25°C<br>~~a~~<br>~~a~~|-5<br>~~a~~<br>~~ee~~|~~a~~|+5<br>~~a~~<br>~~ee~~|%<br>~~a~~<br>~~eee~~|1<br>~~a~~<br>~~eee~~|
||CLK_SEL = 1,2,3,4,5 and gyro<br>active;25°C<br>~~a~~<br>~~a~~<br>~~ee~~<br>~~ree~~|-1<br>~~a~~<br>~~ee~~<br>~~ee~~<br>~~eee~~|~~a~~<br>~~ee~~<br>~~ee~~|+1<br>~~a~~<br>~~ee~~<br>~~ee~~<br>~~ee~~|%<br>~~a~~<br>~~ee~~<br>~~eee~~|1<br>~~a~~<br>~~ee~~<br>~~eee~~|
|Frequency Variation over Temperature<br>~~ee~~|CLK_SEL = 0,6 or gyro inactive<br>~~a~~<br>~~ee~~<br>~~ee~~<br>~~ree~~|-10<br>~~ee~~<br>~~ee~~<br>~~ee~~<br>~~eee~~|~~ee~~<br>~~ee~~<br>~~ee~~|+10<br>~~ee~~<br>~~ee~~<br>~~ee~~<br>~~ee~~|%<br>~~ee~~<br>~~eee~~<br>~~ee~~|1<br>~~ee~~<br>~~eee~~<br>~~ee~~|
||CLK_SEL = 1,2,3,4,5 and gyro<br>active<br>~~ee~~<br>~~ree~~|-1<br>~~ee~~<br>~~eee~~|~~ee~~<br>~~ee~~|+1<br>~~ee ~~<br>~~ee~~<br>~~ee~~|%<br> ~~eee~~<br>~~ee~~|1<br>~~eee~~<br>~~ee~~|
2. Guaranteed by design.
Page 13 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
{TDK InvenSense
_**ICM-20689**_
## **3.3.3 Other Electrical Specifications**
Typical Operating Circuit of section 0, VDD = 1.8 V, VDDIO = 1.8 V, TA=25°C, unless otherwise noted.
|**PARAMETER**|**CONDITIONS**|**MIN**|**TYP**|**MAX**|**UNITS**|**NOTES**|
|---|---|---|---|---|---|---|
|**SERIAL INTERFACE**|||||||
|SPI Operating Frequency, All Registers<br>Read/Write|Low Speed Characterization||100 ±10%||kHz|1|
||High Speed Characterization||1|8|MHz|1, 2|
|SPI Modes|||Modes 0<br>and 3||||
|I2C Operating Frequency|All registers, Fast-mode|||400|kHz|1|
||All registers, Standard-mode|||100|kHz|1|
## **Table 5. Other Electrical Specifications**
Notes:
1. Derived from validation or characterization of parts, not guaranteed in production.
2. SPI clock duty cycle between 45% and 55% should be used for 8-MHz operation.
Page 14 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
_**ICM-20689**_
## **3.4 I[2] C TIMING CHARACTERIZATION**
Typical Operating Circuit of section 0, VDD = 1.8 V, VDDIO = 1.8 V, TA=25°C, unless otherwise noted.
|**PARAMETERS**<br>~~QQ~~|**CONDITIONS**<br>~~QQ~~|**MIN**<br>~~QQ~~|**TYP**<br>~~QQ~~|**MAX**<br>~~QQ~~<br>~~OO~~|**UNITS**<br>~~QQ~~|**NOTES**<br>~~QQ~~|
|---|---|---|---|---|---|---|
|**I2C TIMING**<br>~~GG~~<br>~~rs~~|**I2C FAST-MODE**<br>~~GG~~<br>~~GD~~|~~GG~~|~~GG~~|~~OO~~<br>~~GG~~|~~GG~~|~~GG~~|
|fSCL, SCL Clock Frequency<br>~~rs~~|~~GD~~|||400|kHz|1|
|tHD.STA, (Repeated) START Condition Hold Time<br>~~rs~~<br>~~rr~~<br>~~rs~~|~~GD~~<br>~~rr~~<br>~~Qf~~|0.6<br>~~rr~~<br>~~Qf~~|~~rr~~<br>~~GO~~|~~rr~~<br>~~GO~~|µs<br>~~rr~~|1<br>~~rr~~|
|tLOW, SCL Low Period<br>~~rs~~<br>~~rs~~|~~Qf~~<br>~~Qf~~|1.3<br>~~Qf~~<br>~~Qf~~|~~GO~~<br>~~GO~~|~~GO~~<br>~~GO~~|µs|1|
|tHIGH, SCL High Period<br>~~rs~~<br>~~rs~~|~~Qf~~<br>~~Qf~~|0.6<br>~~Qf ~~<br>~~Qf~~|~~GO~~<br>~~GO~~|~~GO~~<br>~~GO~~|µs|1|
|tSU.STA, Repeated START Condition Setup Time<br>~~rs~~<br>~~re~~<br>~~rs~~|~~Qf~~<br>~~re~~<br>~~GD~~|0.6<br>~~Qf ~~<br>~~re~~|~~GO~~<br>~~re~~|~~GO~~<br>~~re~~|µs<br>~~re~~|1<br>~~re~~|
|tHD.DAT, SDA Data Hold Time<br>~~rs~~<br>~~rs~~|~~GD~~<br>~~Qf~~|0<br>~~Qf~~|~~GO~~|~~GO~~|µs|1|
|tSU.DAT, SDA Data SetupTime<br>~~rs~~<br>~~rs~~<br>~~rs~~|~~GD~~<br>~~Qf~~<br>~~Qf~~|100<br>~~Qf~~<br>~~Qf~~|~~GO~~<br>~~GO~~|~~GO~~<br>~~GO~~|ns|1|
|tr, SDA and SCL Rise Time<br>~~rs~~<br>~~rs~~<br>~~rs~~|Cbbus cap. from 10 to 400pF<br>~~Qf~~<br>~~Qf~~<br>~~Qf~~|20+0.1Cb<br>~~Qf ~~<br>~~Qf~~<br>~~Qf~~|~~GO~~<br>~~GO~~<br>~~GO~~|300<br>~~GO~~<br>~~GO~~<br>~~GO~~|ns|1|
|tf, SDA and SCL Fall Time<br>~~rs~~<br>~~rs~~|Cbbus cap. from 10 to 400pF<br>~~Qf~~<br>~~Qf~~|20+0.1Cb<br>~~Qf ~~<br>~~Qf~~|~~GO~~<br>~~GO~~|300<br>~~GO~~<br>~~GO~~|ns|1|
|tSU.STO, STOP Condition Setup Time<br>~~rs~~<br>~~rs~~|~~Qf~~<br>~~ee~~<br>|0.6<br>~~Qf ~~<br>~~ee~~<br>|~~GO~~<br>~~ee~~<br>|~~GO~~<br>~~ee~~<br>|µs|1|
|tBUF, Bus Free Time Between STOP and START<br>Condition<br>~~ee~~<br>~~rs~~|~~ee~~<br>~~ee~~<br>|1.3<br>~~ee~~<br>~~ee~~<br>|~~ee~~<br>~~ee~~<br>|~~ee~~<br>~~ee~~<br>|µs<br>~~ee~~|1<br>~~ee~~|
|Cb, Capacitive Load for each Bus Line<br>~~rs~~<br>~~rs~~|~~ee~~<br>~~Qf~~<br>|~~ee~~<br>~~Qf~~<br>|< 400<br>~~ee~~<br>~~GO~~<br>|~~ee~~<br>~~GO~~<br>|pF|1|
|tVD.DAT, Data Valid Time<br>~~rs~~<br>~~rs~~<br>~~rs~~|~~ee ~~<br>~~Qf~~<br>~~Qf~~<br>|~~ee ~~<br>~~Qf~~<br>~~Qf~~<br>|~~ee ~~<br>~~GO~~<br>~~GO~~<br>|0.9<br> ~~ee~~<br>~~GO~~<br>~~GO~~|µs|1|
|tVD.ACK, Data Valid Acknowledge Time<br><br>~~rs~~<br>~~rs~~|~~Qf~~<br>~~Qf~~<br>~~Gf~~|~~Qf ~~<br>~~Qf~~<br>~~Gf~~|~~GO~~<br>~~GO~~<br>~~Gf~~|0.9<br>~~GO~~<br>~~GO~~|µs|1|
## Notes:
1. Based on characterization of 5 parts over temperature and voltage as mounted on evaluation board or in sockets
**==> picture [474 x 144] intentionally omitted <==**
**----- Start of picture text -----**<br>
tf tr tSU.DAT<br>SDA 70% 70%<br>30% 30%<br>tf continued below at A<br>| . tr —_ eee cccc cc cce’ tVD.DAT = ade ,<br>SCL 70% tHD.DAT 70%<br>30% 30%<br>tHD.STA 1/fSCL tLOW 9 [th] clock cycle<br>S 1 [st] clock cycle tHIGH<br>tBUF<br>SDA 70%<br>A 30%<br>tSU.STA tHD.STA tVD.ACK tSU.STO<br>SCL 70%<br>30%<br>Sr 9 [th] clock cycle P S<br>**----- End of picture text -----**<br>
**Figure 1. I[2] C Bus Timing Diagram**
Page 15 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
_**ICM-20689**_
## **3.5 SPI TIMING CHARACTERIZATION**
Typical Operating Circuit of section 0, VDD = 1.8 V, VDDIO = 1.8 V, TA=25°C, unless otherwise noted.
|**PARAMETERS**|**CONDITIONS**|**MIN**|**TYP**|**MAX**|**UNITS**|**NOTES**|
|---|---|---|---|---|---|---|
|**SPI TIMING**|||||||
|fSPC, SPC Clock Frequency||||8|MHz|1|
|tLOW, SPC Low Period||56|||ns|1|
|tHIGH, SPC High Period||56|||ns|1|
|tSU.CS, CS Setup Time||2|||ns|1|
|tHD.CS, CS Hold Time||63|||ns|1|
|tSU.SDI, SDI Setup Time||3|||ns|1|
|tHD.SDI, SDI Hold Time||7|||ns|1|
|tVD.SDO, SDO Valid Time|Cload= 20 pF|||40|ns|1|
|tHD.SDO, SDO Hold Time|Cload= 20 pF|6|||ns|1|
|tDIS.SDO, SDO Output Disable Time||||20|ns|1|
|tFall, SPC Fall Time||||6.5|ns|2|
|tRise, SPC Rise Time||||6.5|ns|2|
**Table 7. SPI Timing Characteristics (8MHz Operation)**
## Notes:
1. Based on characterization of 5 parts over temperature and voltage as mounted on evaluation board or in sockets
2. Based on other parameter values
**==> picture [470 x 148] intentionally omitted <==**
**----- Start of picture text -----**<br>
CS 70%<br>30%<br>tFall tRise tHD;CS<br>ee tSU;CS tHIGH 1/fCLK<br>SPC 70%<br>30%<br>tSU;SDI tHD;SDI tLOW<br>SDI 70% MSB IN LSB IN<br>30%<br>=_ 2-2 tVD;SDO -2-28 tHD;SDO tDIS;SDO<br>SDO 70%<br>MSB OUT LSB OUT<br>30%<br>a TD Sa Ca CaS<br>**----- End of picture text -----**<br>
**Figure 2. SPI Bus Timing Diagram**
Page 16 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
{TDK InvenSense
_**ICM-20689**_
## **3.6 ABSOLUTE MAXIMUM RATINGS**
Stress above those listed as “Absolute Maximum Ratings” may cause permanent damage to the device. These are stress ratings only and functional operation of the device at these conditions is not implied. Exposure to the absolute maximum ratings conditions for extended periods may affect device reliability.
|**PARAMETER**|**RATING**|
|---|---|
|Supply Voltage, VDD|-0.5 V to +4 V|
|Supply Voltage, VDDIO|-0.5 V to +4 V|
|REGOUT|-0.5V to 2V|
|Input Voltage Level (AD0, FSYNC, SCL, SDA)|-0.5 V to VDD + 0.5 V|
|Acceleration (Any Axis, unpowered)|10,000g for 0.2 ms|
|Operating Temperature Range|-40°C to +85°C|
|Storage Temperature Range|-40°C to +125°C|
|Electrostatic Discharge (ESD) Protection|2 kV (HBM);<br>250 V (MM)|
|Latch-up|JEDEC Class II (2),125°C<br>±100 mA|
**Table 8. Absolute Maximum Ratings**
Page 17 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
‘TDK InvenSense
_**ICM-20689**_
## _**4 APPLICATIONS INFORMATION**_
## **4.1 PIN OUT DIAGRAM AND SIGNAL DESCRIPTION**
|**PIN NUMBER**|**PIN NAME**|**PIN DESCRIPTION**|
|---|---|---|
|8|VDDIO|Digital I/O supply voltage|
|9|AD0/SDO|I2C slave address LSB (AD0); SPI serial data output (SDO)|
|10|REGOUT|Regulator filter capacitor connection|
|11|FSYNC|Frame synchronization digital input. Connect to GND if unused.|
|12|INT|Interrupt digital output (totem pole or open-drain)|
|13|VDD|Power supply voltage|
|18|GND|Power supply ground|
|22|nCS|SPI chip select|
|23|SCL/SCLK|I2C serial clock (SCL); SPI serial clock (SCLK)|
|24|SDA/SDI|I2C serial data (SDA); SPI serial data input (SDI)|
|1, 2, 3, 4, 5, 6, 7, 14,<br>15, 16, 17, 19, 20,<br>21|NC|No Connect|
**Table 9. Signal Descriptions**
Note: Power up with SCL/SCLK and nCS pins held low is not a supported use case. In case this power up approach is used, software reset is required using the PWR_MGMT_1 register, prior to initialization.
**==> picture [363 x 282] intentionally omitted <==**
**----- Start of picture text -----**<br>
24 23 22 21 20 19 +Z<br>NC 1 18 GND<br>+Z +Y<br>NC 2 17 NC<br>NC 3 16 NC +Y<br>ICM-20689<br>NC 4 15 NC<br>NC 5 14 NC<br>+X +X<br>NC 6 13 VDD<br>7 8 9 10 11 12<br>Top View – QFN Package Orientation of Axes of Sensitivity and<br>24-pin, 4mm x 4mm x 0.9mm Polarity of Rotation<br>ICM-20689<br>SDA/SDI SCL/SCLK nCS NC NC NC<br>NC VDDIO AD0/SDO REGOUT FSYNC INT<br>**----- End of picture text -----**<br>
**Figure 3. Pin out Diagram for ICM-20689**
Page 18 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
_**ICM-20689**_
## **4.2 TYPICAL OPERATING CIRCUIT**
**==> picture [382 x 291] intentionally omitted <==**
**----- Start of picture text -----**<br>
24 23 22 21 20 19<br>1 18<br>2 17 GND<br>3 16<br>ICM-20689<br>4 15<br>5 14<br>VDD: 1.71 – 3.45 VDC<br>6 13<br>7 8 9 10 11 12<br>C4, 2.2µ F C2, 0.1µ F<br>VDDIO: 1.71 – 3.45 VDC t T L b<br>GND GND<br>FSYNC INT<br>C3, 10nF C1, 0.47µ F<br>L L |_ L<br>GND GND<br>AD0/SDO<br>nCS<br>SDA/SDI SCL/SCLK<br>**----- End of picture text -----**<br>
**Figure 4. ICM-20689 Application Schematic**
Note: I[2] C lines are open drain and pullup resistors (e.g. 10 kΩ) are required.
## **4.3 BILL OF MATERIALS FOR EXTERNAL COMPONENTS**
|**COMPONENT**|**LABEL**|**SPECIFICATION**|**QUANTITY**|
|---|---|---|---|
|REGOUT Capacitor|C1|X7R, 0.47 µF ±10%|1|
|VDD Bypass Capacitors|C2|X7R, 0.1 µF ±10%|1|
||C4|X7R, 2.2 µF ±10%|1|
|VDDIO Bypass Capacitor|C3|X7R, 10 nF ±10%|1|
**Table 10. Bill of Materials**
Page 19 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
_**ICM-20689**_
## ~~SSTDIE inensense~~
## **4.4 BLOCK DIAGRAM**
**==> picture [391 x 296] intentionally omitted <==**
**----- Start of picture text -----**<br>
ICM-20689<br>INT<br>Self<br>X Accel ADC<br>test Interrupt<br>Status<br>Register<br>C HL I H- S - ] nCS<br>Self test Y Accel ADC Slave I2C and AD0/SDO<br>SPI Serial<br>FIFO<br>Interface SCL / SCLK<br>sos| Self test Z Accel ADC User & Config Si g = SDA / SDI<br>Registers<br>FSYNC<br>OHS = |S<br>Self<br>test X Gyro AD C Sensor<br>F A L I-S — Registers<br>Self<br>test Y Gyro ADC<br>Digital Motion<br>= O} = Processor<br>Self test Z Gyro - AD C (DMP)<br>Temp Sensor ADC<br>C H<br>Charge Bias & LDOs<br>Pump<br>VDD GND REGOUT<br>Signal Conditioning<br>**----- End of picture text -----**<br>
**Figure 5. ICM-20689 Block Diagram**
## **4.5 OVERVIEW**
The ICM-20689 is comprised of the following key blocks and functions:
- Three-axis MEMS rate gyroscope sensor with 16-bit ADCs and signal conditioning
- Three-axis MEMS accelerometer sensor with 16-bit ADCs and signal conditioning
- Digital Motion Processor (DMP) engine
- Primary I[2] C and SPI serial communications interfaces
- Self-Test
- Clocking
- Sensor Data Registers
- FIFO
- Interrupts
- Digital-Output Temperature Sensor
- Bias and LDOs
- Charge Pump
- Standard Power Modes
Page 20 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
‘TDK InvenSense
_**ICM-20689**_
## **4.6 THREE-AXIS MEMS GYROSCOPE WITH 16-BIT ADCS AND SIGNAL CONDITIONING**
The ICM-20689 consists of three independent vibratory MEMS rate gyroscopes, which detect rotation about the X-, Y-, and Z- Axes. When the gyros are rotated about any of the sense axes, the Coriolis Effect causes a vibration that is detected by a capacitive pickoff. The resulting signal is amplified, demodulated, and filtered to produce a voltage that is proportional to the angular rate. This voltage is digitized using individual on-chip 16-bit Analog-to-Digital Converters (ADCs) to sample each axis. The full-scale range of the gyro sensors may be digitally programmed to ±250, ±500, ±1000, or ±2000 degrees/sec (dps). The ADC sample rate is programmable from 8,000 samples/sec, to 3.9 samples/sec, and user-selectable low-pass filters enable a wide range of cut-off frequencies.
## **4.7 THREE-AXIS MEMS ACCELEROMETER WITH 16-BIT ADCS AND SIGNAL CONDITIONING**
The ICM-20689’s 3-Axis accelerometer uses separate proof masses for each axis. Acceleration along a particular axis induces displacement on the corresponding proof mass, and capacitive sensors detect the displacement differentially. The ICM-20689’s architecture reduces the accelerometers’ susceptibility to fabrication variations as well as to thermal drift. When the device is placed on a flat surface, it will measure 0 _g_ on the X- and Y-axes and +1 _g_ on the Z-axis. The accelerometers’ scale factor is calibrated at the factory and is nominally independent of supply voltage. Each sensor has a dedicated sigma-delta ADC for providing digital outputs. The full scale range of the digital output can be adjusted to ±2 _g_ , ±4 _g_ , ±8 _g_ , or ±16 _g_ .
## **4.8 DIGITAL MOTION PROCESSOR**
The embedded Digital Motion Processor (DMP) offloads computation of motion processing algorithms from the host processor. The DMP acquires data from the accelerometer and gyroscope, processes the data, and the results can be read from the FIFO. The DMP has access to one of the external pins, which can be used for generating interrupts. The purpose of the DMP is to offload both timing requirements and processing power from the host processor. Typically, motion processing algorithms should be run at a high rate, often around 200Hz, in order to provide accurate results with low latency. This is required even if the application updates at a much lower rate; for example, a low power user interface may update as slowly as 5Hz, but the motion processing should still run at 200Hz. The DMP can be used to minimize power, simplify timing, simplify the software architecture, and save valuable MIPS on the host processor for use in applications. DMP operation is possible in low-power gyroscope and low-power accelerometer modes.
## **4.9 I[2] C AND SPI SERIAL COMMUNICATIONS INTERFACES**
The ICM-20689 communicates to a system processor using either a SPI or an I[2] C serial interface. The ICM-20689 always acts as a slave when communicating to the system processor. The LSB of the I[2] C slave address is set by pin 9 (AD0).
## **4.9.1 ICM-20689 Solution Using I[2] C Interface**
In the figure below, the system processor is an I[2] C master to the ICM-20689.
**==> picture [256 x 196] intentionally omitted <==**
**----- Start of picture text -----**<br>
Interrupt<br>Status INT<br>Register<br>ICM-20689 Slave I [2] C AD0 VDDIO or GND<br>Interfaceor SPI Serial SCLSDA SDASCL ProcessorSystem<br>FIFO<br>User & Config<br>Registers Digital<br>Motion<br>RegisterSensor Processor (DMP)<br>Factory<br>Calibration<br>Bias & LDOs<br>VDD GND REGOUT<br>**----- End of picture text -----**<br>
**Figure 6. ICM-20689 Solution Using I[2] C Interface**
Page 21 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
‘TDK InvenSense
_**ICM-20689**_
## **4.9.2 ICM-20689 Solution Using SPI Interface**
In the figure below, the system processor is an SPI master to the ICM-20689. Pins 9, 22, 23, 24 are used to support the SDO, nCS, SCLK, and SDI signals for SPI communications.
**==> picture [284 x 216] intentionally omitted <==**
**----- Start of picture text -----**<br>
Interrupt<br>Status INT<br>Register<br>nCS nCS<br>ICM-20689 SDO SDI<br>Slave I [2] C System<br>or SPI SPC SPC Processor<br>Serial<br>Interface SDI SDO<br>FIFO<br>Config<br>Register Digital<br>Motion<br>RegisterSensor Processor (DMP)<br>Factory<br>Calibration<br>Bias & LDOs<br>VDD GND REGOUT<br>**----- End of picture text -----**<br>
**Figure 7. ICM-20689 Solution Using SPI Interface**
## **4.10 SELF-TEST**
Self-test allows for the testing of the mechanical and electrical portions of the sensors. The self-test for each measurement axis can be activated by means of the gyroscope and accelerometer self-test registers (registers 27 and 28).
When the self-test is activated, the electronics cause the sensors to be actuated and produce an output signal. The output signal is used to observe the self-test response.
The self-test response is defined as follows:
Self-test response = Sensor output with self-test enabled – Sensor output with self-test disabled
When the value of the self-test response is within the specified min/max limits of the product specification, the part has passed selftest. When the self-test response exceeds the min/max values, the part is deemed to have failed self-test. It is recommended to use InvenSense MotionApps software for executing self-test.
## **4.11 CLOCKING**
The ICM-20689 has a flexible clocking scheme, allowing a variety of internal clock sources to be used for the internal synchronous circuitry. This synchronous circuitry includes the signal conditioning and ADCs, the DMP, and various control circuits and registers. An on-chip PLL provides flexibility in the allowable inputs for generating this clock.
- Allowable internal sources for generating the internal clock are:
- a) An internal relaxation oscillator
- b) Auto-select between internal relaxation oscillator and gyroscope MEMS oscillator to use the best available source
The only setting supporting specified performance in all modes is option b). It is recommended that option b) be used.
## **4.12 SENSOR DATA REGISTERS**
The sensor data registers contain the latest gyroscope, accelerometer, and temperature measurement data. They are read-only registers, and are accessed via the serial interface. Data from these registers may be read anytime.
Page 22 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
‘TDK InvenSense
_**ICM-20689**_
## **4.13 FIFO**
The ICM-20689 contains a 4 Kbyte FIFO register that is accessible via the Serial Interface. The FIFO configuration register determines which data is written into the FIFO. Possible choices include gyro data, accelerometer data, temperature readings, and FSYNC input. A FIFO counter keeps track of how many bytes of valid data are contained in the FIFO. The FIFO register supports burst reads. The interrupt function may be used to determine when new data is available.
The ICM-20689 allows FIFO read in low-power accelerometer mode.
## **4.14 INTERRUPTS**
Interrupt functionality is configured via the Interrupt Configuration register. Items that are configurable include the INT pin configuration, the interrupt latching and clearing method, and triggers for the interrupt. Items that can trigger an interrupt are (1) Clock generator locked to new reference oscillator (used when switching clock sources); (2) new data is available to be read (from the FIFO and Data registers); (3) accelerometer event interrupts; (4) DMP; (5) FIFO overflow. The interrupt status can be read from the Interrupt Status register.
## **4.15 DIGITAL-OUTPUT TEMPERATURE SENSOR**
An on-chip temperature sensor and ADC are used to measure the ICM-20689 die temperature. The readings from the ADC can be read from the FIFO or the Sensor Data registers.
## **4.16 BIAS AND LDOS**
The bias and LDO section generates the internal supply and the reference voltages and currents required by the ICM-20689. Its two inputs are an unregulated VDD and a VDDIO logic reference supply voltage. The LDO output is bypassed by a capacitor at REGOUT. For further details on the capacitor, please refer to the Bill of Materials for External Components.
## **4.17 CHARGE PUMP**
An on-chip charge pump generates the high voltage required for the MEMS oscillator.
## **4.18 STANDARD POWER MODES**
The following table lists the user-accessible power modes for ICM-20689.
|**MODE**|**NAME**|**GYRO**|**ACCEL**|**DMP**|
|---|---|---|---|---|
|1|SleepMode|Off|Off|Off|
|2|StandbyMode|Drive On|Off|Off|
|3|Accelerometer Low-Power Mode|Off|Duty-Cycled|On or Off|
|4|Accelerometer Low-Noise Mode|Off|On|On or Off|
|5|Gyroscope Low-Power Mode|Duty-Cycled|Off|On or Off|
|6|Gyroscope Low-Noise Mode|On|Off|On or Off|
|7|6-Axis Low-Noise Mode|On|On|On or Off|
|8|6-Axis Low-Power Mode|Duty-Cycled|On|On or Off|
**Table 11. Standard Power Modes for ICM-20689**
Notes:
1. Power consumption for individual modes can be found in section 0.
Page 23 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
‘TDK InvenSense
_**ICM-20689**_
## _**5 PROGRAMMABLE INTERRUPTS**_
The ICM-20689 has a programmable interrupt system which can generate an interrupt signal on the INT pin. Status flags indicate the source of an interrupt. Interrupt sources may be enabled and disabled individually.
|**INTERRUPT NAME**|**MODULE**|
|---|---|
|Motion Detection|Motion|
|FIFO Overflow|FIFO|
|Data Ready|Sensor Registers|
|DMP|DMP|
**Table 12. Table of Interrupt Sources**
## **5.1 WAKE-ON-MOTION INTERRUPT**
The ICM-20689 provides motion detection capability. A qualifying motion sample is one where the high passed sample from any axis has an absolute value exceeding a user-programmable threshold. The following steps explain how to configure the Wake-on-Motion Interrupt.
## _**Step 1: Ensure that Accelerometer is running**_
- In PWR_MGMT_1 register (0x6B) set CYCLE = 0, SLEEP = 0, and GYRO_STANDBY = 0
- In PWR_MGMT_2 register (0x6C) set STBY_XA = STBY_YA = STBY_ZA = 0, and STBY_XG = STBY_YG = STBY_ZG = 1
## _**Step 2: Accelerometer Configuration**_
- In ACCEL_CONFIG2 register (0x1D) set ACCEL_FCHOICE_B = 0 and A_DLPF_CFG[2:0] = 1 (b001)
## _**Step 3: Enable Motion Interrupt**_
- In INT_ENABLE register (0x38) set WOM_INT_EN = 111 to enable motion interrupt
## _**Step 4: Set Motion Threshold**_
- Set the motion threshold for X-axis in ACCEL_WOM_X_THR register (0x20)
- Set the motion threshold for Y-axis in ACCEL_WOM_Y_THR register (0x21)
- Set the motion threshold for Z-axis in ACCEL_WOM_Z_THR register (0x22)
## _**Step 5: Enable Accelerometer Hardware Intelligence**_
- In ACCEL_INTEL_CTRL register (0x69) set ACCEL_INTEL_EN = ACCEL_INTEL_MODE = 1; Ensure that bit 0 is set to 0.
## _**Step 6: Set Frequency of Wake-Up**_
- In SMPLRT_DIV register (0x19) set SMPLRT_DIV[7:0] = 3.9 Hz – 500 Hz
## _**Step 7: Enable Cycle Mode (Accelerometer Low-Power Mode)**_
- In PWR_MGMT_1 register (0x6B) set CYCLE = 1
Page 24 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
{TDK InvenSense
_**ICM-20689**_
## _**6 DIGITAL INTERFACE**_
## **6.1 I[2] C AND SPI SERIAL INTERFACES**
The internal registers and memory of the ICM-20689 can be accessed using either I[2] C at 400 kHz or SPI at 8 MHz. SPI operates in four-wire mode.
|**PIN NUMBER**|**PIN NAME**|**PIN DESCRIPTION**|
|---|---|---|
|8|VDDIO|Digital I/O supply voltage.|
|9|AD0 / SDO|I2C Slave Address LSB (AD0); SPI serial data output (SDO)|
|23|SCL / SCLK|I2C serial clock (SCL); SPI serial clock (SCLK)|
|24|SDA / SDI|I2C serial data (SDA); SPI serial data input (SDI)|
**Table 13. Serial Interface**
Note: To prevent switching into I[2] C mode when using SPI, the I[2] C interface should be disabled by setting the _I2C_IF_DIS_ configuration bit. Setting this bit should be performed immediately after waiting for the time specified by the “Start-Up Time for Register Read/Write” in Section 6.3. For further information regarding the _I2C_IF_DIS_ bit, please refer to sections 11 and 12 of this document.
## **6.2 I[2] C INTERFACE**
I[2] C is a two-wire interface comprised of the signals serial data (SDA) and serial clock (SCL). In general, the lines are open-drain and bidirectional. In a generalized I[2] C interface implementation, attached devices can be a master or a slave. The master device puts the slave address on the bus, and the slave device with the matching address acknowledges the master.
The ICM-20689 always operates as a slave device when communicating to the system processor, which thus acts as the master. SDA and SCL lines typically need pull-up resistors to VDD. The maximum bus speed is 400 kHz.
The slave address of the ICM-20689 is b110100X which is 7 bits long. The LSB bit of the 7 bit address is determined by the logic level on pin AD0. This allows two ICM-20689s to be connected to the same I[2] C bus. When used in this configuration, the address of one of the devices should be b1101000 (pin AD0 is logic low) and the address of the other should be b1101001 (pin AD0 is logic high).
## **6.3 I[2] C COMMUNICATIONS PROTOCOL**
## _START (S) and STOP (P) Conditions_
Communication on the I[2] C bus starts when the master puts the START condition (S) on the bus, which is defined as a HIGH-to-LOW transition of the SDA line while SCL line is HIGH (see figure below). The bus is considered to be busy until the master puts a STOP condition (P) on the bus, which is defined as a LOW to HIGH transition on the SDA line while SCL is HIGH (see figure below). Additionally, the bus remains busy if a repeated START (Sr) is generated instead of a STOP condition.
**==> picture [364 x 85] intentionally omitted <==**
**----- Start of picture text -----**<br>
SDA<br>SCL<br>S P<br>START condition STOP condition<br>**----- End of picture text -----**<br>
**Figure 8. START and STOP Conditions**
Page 25 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
_**ICM-20689**_
## _Data Format / Acknowledge_
I[2] C data bytes are defined to be 8 bits long. There is no restriction to the number of bytes transmitted per data transfer. Each byte transferred must be followed by an acknowledge (ACK) signal. The clock for the acknowledge signal is generated by the master, while the receiver generates the actual acknowledge signal by pulling down SDA and holding it low during the HIGH portion of the acknowledge clock pulse.
If a slave is busy and cannot transmit or receive another byte of data until some other task has been performed, it can hold SCL LOW, thus forcing the master into a wait state. Normal data transfer resumes when the slave is ready, and releases the clock line (refer to the following figure).
**==> picture [418 x 145] intentionally omitted <==**
**----- Start of picture text -----**<br>
DATA OUTPUT BY<br>TRANSMITTER (SDA)<br>not acknowledge<br>DATA OUTPUT BY<br>RECEIVER (SDA)<br>cos<br>acknowledge<br>7<br>SCL FROM<br>1 2 8 9<br>MASTER<br>clock pulse for<br>START acknowledgement<br>condition<br>**----- End of picture text -----**<br>
**Figure 9. Acknowledge on the I[2] C Bus**
Page 26 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
_**ICM-20689**_
## _Communications_
After beginning communications with the START condition (S), the master sends a 7-bit slave address followed by an 8[th] bit, the read/write bit. The read/write bit indicates whether the master is receiving data from or is writing to the slave device. Then, the master releases the SDA line and waits for the acknowledge signal (ACK) from the slave device. Each byte transferred must be followed by an acknowledge bit. To acknowledge, the slave device pulls the SDA line LOW and keeps it LOW for the high period of the SCL line. Data transmission is always terminated by the master with a STOP condition (P), thus freeing the communications line. However, the master can generate a repeated START condition (Sr), and address another slave without first generating a STOP condition (P). A LOW to HIGH transition on the SDA line while SCL is HIGH defines the stop condition. All SDA changes should take place when SCL is low, with the exception of start and stop conditions.
**==> picture [400 x 112] intentionally omitted <==**
**----- Start of picture text -----**<br>
SDA<br>SCL 1 – 7 8 9 1 – 7 8 9 1 – 7 8 9<br>S P<br>START ADDRESS R/W ACK DATA ACK DATA ACK STOP<br>condition condition<br>**----- End of picture text -----**<br>
**Figure 10. Complete I[2] C Data Transfer**
To write the internal ICM-20689 registers, the master transmits the start condition (S), followed by the I[2] C address and the write bit (0). At the 9[th] clock cycle (when the clock is high), the ICM-20689 acknowledges the transfer. Then the master puts the register address (RA) on the bus. After the ICM-20689 acknowledges the reception of the register address, the master puts the register data onto the bus. This is followed by the ACK signal, and data transfer may be concluded by the stop condition (P). To write multiple bytes after the last ACK signal, the master can continue outputting data rather than transmitting a stop signal. In this case, the ICM20689 automatically increments the register address and loads the data to the appropriate register. The following figures show single and two-byte write sequences.
_Single-Byte Write Sequence_
|_Single-Byte Write Sequence_|_Single-Byte Write Sequence_|_Single-Byte Write Sequence_||
|---|---|---|---|
|Master<br>S<br>AD+W<br>RA<br>DATA<br>P<br>Slave<br>ACK<br>ACK<br>ACK<br>~~AEE~~||||
|||_Burst Write Sequence_||
|Master<br>S<br>AD+W<br>RA<br>DATA<br>DATA<br>P<br>Slave<br>ACK<br>ACK<br>ACK<br>ACK<br>~~ee~~||||
To read the internal ICM-20689 registers, the master sends a start condition, followed by the I[2] C address and a write bit, and then the register address that is going to be read. Upon receiving the ACK signal from the ICM-20689, the master transmits a start signal followed by the slave address and read bit. As a result, the ICM-20689 sends an ACK signal and the data. The communication ends with a not acknowledge (NACK) signal and a stop bit from master. The NACK condition is defined such that the SDA line remains high at the 9[th] clock cycle. The following figures show single and two-byte read sequences.
_Single-Byte Read Sequence_
Master S AD+W RA S AD+R NACK P Slave ACK ACK ACK DATA ~~eee~~
_Burst Read Sequence_
Master S AD+W RA S AD+R ACK NACK P Slave ACK ACK ACK DATA DATA ~~AEE~~ Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
Page 27 of 53
{TDK InvenSense
_**ICM-20689**_
## **6.4 I[2] C TERMS**
|**SIGNAL**|**DESCRIPTION**|
|---|---|
|S|Start Condition: SDAgoes from high to low while SCL is high|
|AD|Slave I2C address|
|W|Write bit(0)|
|R|Read bit(1)|
|ACK|Acknowledge: SDA line is low while the SCL line is high at the 9thclock cycle|
|NACK|Not-Acknowledge: SDA line stays high at the 9thclock cycle|
|RA|ICM-20689 internal register address|
|DATA|Transmit or received data|
|P|Stopcondition: SDAgoingfrom low to high while SCL is high|
**Table 14. I[2] C Terms**
Page 28 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
‘TDK InvenSense
_**ICM-20689**_
## **6.5 SPI INTERFACE**
SPI is a 4-wire synchronous serial interface that uses two control lines and two data lines. The ICM-20689 always operates as a Slave device during standard Master-Slave SPI operation.
With respect to the Master, the Serial Clock output (SPC), the Serial Data Output (SDO) and the Serial Data Input (SDI) are shared among the Slave devices. Each SPI slave device requires its own Chip Select (CS) line from the master.
CS goes low (active) at the start of transmission and goes back high (inactive) at the end. Only one CS line is active at a time, ensuring that only one slave is selected at any given time. The CS lines of the non-selected slave devices are held high, causing their SDO lines to remain in a high-impedance (high-z) state so that they do not interfere with any active devices. _SPI Operational Features_
1. Data is delivered MSB first and LSB last
2. Data is latched on the rising edge of SPC
3. Data should be transitioned on the falling edge of SPC
4. The maximum frequency of SPC is 8 MHz
5. SPI read and write operations are completed in 16 or more clock cycles (two or more bytes). The first byte contains the SPI Address, and the following byte(s) contain(s) the SPI data. The first bit of the first byte contains the Read/Write bit and indicates the Read (1) or Write (0) operation. The following 7 bits contain the Register Address. In cases of multiplebyte Read/Writes, data is two or more bytes:
**==> picture [227 x 92] intentionally omitted <==**
**----- Start of picture text -----**<br>
SPI Address format<br>MSB LSB<br>a R/W A6 A5 A4 A3 A2 A1 A0<br>SPI Data format<br>MSB LSB<br>D7 D6 D5 D4 D3 D2 D1 D0<br>**----- End of picture text -----**<br>
6. Supports Single or Burst Read/Writes.
**==> picture [193 x 128] intentionally omitted <==**
**----- Start of picture text -----**<br>
SPC<br>SDI<br>SPI Master SDO SPI Slave 1<br>CS1 CS<br>CS2<br>SPC<br>SDI<br>SDO<br>SPI Slave 2<br>CS<br>**----- End of picture text -----**<br>
**Figure 11. Typical SPI Master/Slave Configuration**
Page 29 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
TDI InvenSense
_**ICM-20689**_
## _**7 SERIAL INTERFACE CONSIDERATIONS**_
## **7.1 ICM-20689 SUPPORTED INTERFACES**
The ICM-20689 supports I[2] C communications on its serial interface **.** The ICM-20689’s I/O logic levels are set to be VDDIO.
The figure below depicts a sample circuit of ICM-20689. It shows the relevant logic levels and voltage connections.
**==> picture [425 x 224] intentionally omitted <==**
**----- Start of picture text -----**<br>
VDDIO<br>VDD_IO<br>(0V - VDDIO) SYSTEM BUS<br>System<br>VDD Processor IO<br>VDDIO<br>|<br>VDD INT (0V - VDDIO) 3 -<br>(0V - VDDIO)<br>SDA<br>(0V - VDDIO)<br>(0V - VDDIO) SCL<br>SYNC<br>VDDIO<br>ICM-20689<br>VDDIO<br>(0V, VDDIO)<br>AD0<br>**----- End of picture text -----**<br>
**Figure 12. I/O Levels and Connections**
Page 30 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
‘TDK InvenSense
_**ICM-20689**_
## _**8 ASSEMBLY**_
This section provides general guidelines for assembling InvenSense Micro Electro-Mechanical Systems (MEMS) gyros packaged in LGA package.
## **8.1 ORIENTATION OF AXES**
The diagram below shows the orientation of the axes of sensitivity and the polarity of rotation. Note the pin 1 identifier (•) in the figure.
**==> picture [86 x 108] intentionally omitted <==**
**----- Start of picture text -----**<br>
+Z<br>+Z +Y<br>+Y<br>+X +X<br>ICM-20689<br>**----- End of picture text -----**<br>
**Figure 13. Orientation of Axes of Sensitivity and Polarity of Rotation**
Page 31 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
_**ICM-20689**_
## **8.2 PACKAGE DIMENSIONS**
24 Lead QFN (4x4x0.9) mm NiPdAu Lead-frame finish
**==> picture [483 x 177] intentionally omitted <==**
**----- Start of picture text -----**<br>
24 19 c L<br>1<br>18<br>o a PIN 1 IDENTIFIER IS A LASER 7 e yc oo)<br>MARKED FEATURE ON TOP<br>CO.3<br>f<br>E E2 Brg:<br>e<br>b<br>13<br>6 ‘T L1 p PPE ED 7<br>A1<br>7 D 12<br>D2<br>A<br>Lo | —h- a<br>**----- End of picture text -----**<br>
**==> picture [109 x 68] intentionally omitted <==**
**----- Start of picture text -----**<br>
On 4 corners -<br>lead dimensions<br>a a<br>U1 s<br>s<br>**----- End of picture text -----**<br>
|SYMBOLS<br>~~|~~|DIMENSIONS IN MILLIMETERS<br>~~|}~~|DIMENSIONS IN MILLIMETERS<br>~~|}~~|DIMENSIONS IN MILLIMETERS<br>~~|}~~|
|---|---|---|---|
|~~|~~|MIN<br>~~|}~~|NOM<br>~~|}~~|MAX<br>~~|}~~|
|A<br>~~| ~~<br>~~ee (ee~~<br>~~ee~~|0.85<br> ~~|}~~<br>~~(ee~~<br>~~ee~~|0.90<br>~~|}~~<br>~~ee~~<br>~~ee~~|0.95<br>~~|}~~|
|A1<br>~~ee (ee~~<br>~~ee~~<br>~~ee~~|0.00<br>~~(ee ~~<br>~~ee~~<br>~~ee ee~~|0.02<br> ~~ee~~<br>~~ee~~<br>~~ee~~|0.05|
|b<br>~~ee~~<br>~~ee~~<br>~~ee~~|0.18<br>~~ee~~<br>~~ee ee~~<br>~~ee~~|0.25<br>~~ee~~<br>~~ee~~<br>~~ee~~|0.30|
|c<br>~~ee~~<br>~~ee~~<br>~~ee~~|---<br>~~ee ee~~<br>~~ee~~<br>~~ee~~|0.20 REF<br>~~ee~~<br>~~ee~~<br>~~ee~~|---<br>~~ee~~|
|D<br>~~ee~~<br>~~ee~~<br>~~ee (ee~~|3.90<br>~~ee~~<br>~~ee~~<br>~~(ee~~|4.00<br>~~ee~~<br>~~ee~~<br>~~ee~~|4.10<br>~~ee~~|
|D2<br>~~ee~~<br>~~ee (ee~~<br>~~ee (ee~~|2.65<br>~~ee ~~<br>~~(ee~~<br>~~(ee~~|2.70<br> ~~ee~~<br>~~ee~~<br>~~ee~~|2.75<br>~~ee~~<br>~~ee~~|
|E<br>~~ee (ee~~<br>~~ee (ee~~<br>~~ee~~|3.90<br>~~(ee ~~<br>~~(ee~~<br>~~ee~~|4.00<br> ~~ee~~<br>~~ee~~<br>~~ee~~|4.10<br>~~ee~~<br>~~ee~~|
|E2<br>~~ee (ee~~<br>~~ee~~<br>~~ee~~|2.55<br>~~(ee~~<br>~~ee~~<br>~~ee ee~~|2.60<br>~~ee~~<br>~~ee~~<br>~~ee~~|2.65<br>~~ee~~<br>~~ee~~|
|e<br>~~ee~~<br>~~ee~~<br>~~ee~~|---<br>~~ee~~<br>~~ee ee~~<br>~~ee~~|0.50<br>~~ee~~<br>~~ee~~<br>~~ee~~|---<br>~~ee~~|
|f (e-b)<br>~~ee~~<br>~~ee~~<br>~~ee~~|---<br>~~ee ee~~<br>~~ee~~<br>~~ee~~|0.25<br>~~ee~~<br>~~ee~~<br>~~ee~~|---<br>~~ee~~|
|K<br>~~ee~~<br>~~ee~~<br>~~ee~~|0.25<br>~~ee~~<br>~~ee~~<br>~~ee~~|0.30<br>~~ee~~<br>~~ee~~<br>~~ee~~|0.35<br>~~ee~~<br>~~ee~~|
|L<br>~~ee~~<br>~~ee~~<br>~~ee (ee~~|0.30<br>~~ee~~<br>~~ee~~<br>~~(ee~~|0.35<br>~~ee~~<br>~~ee~~<br>~~ee~~|0.40<br>~~ee~~<br>~~ee~~<br>~~ee~~|
|L1<br>~~ee~~<br>~~ee (ee~~<br>~~ee~~|0.35<br>~~ee ~~<br>~~(ee~~<br>~~ee~~|0.40<br> ~~ee~~<br>~~ee~~<br>~~ee~~|0.45<br>~~ee~~<br>~~ee~~<br>~~ee~~|
|s<br>~~ee (ee~~<br>~~ee~~|0.05<br>~~(ee~~<br>~~ee~~|---<br>~~ee~~<br>~~ee~~|0.15<br>~~ee~~<br>~~ee~~|
Page 32 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
{TDK InvenSense
_**ICM-20689**_
## _**9 PART NUMBER PACKAGE MARKING**_
The part number package marking for ICM-20689 devices is summarized below:
## **PART NUMBER PART NUMBER PACKAGE MARKING** ICM-20689 IC2689 ~~ee~~
## **TOP VIEW**
**==> picture [218 x 114] intentionally omitted <==**
**----- Start of picture text -----**<br>
Part Number IC2689<br>Lot Traceability Code X X X X X X<br> YYWW<br>Y Y = Year Code<br>W W = Work Week<br>**----- End of picture text -----**<br>
Page 33 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
_**ICM-20689**_
## _**10 REGISTER MAP**_
The following table lists the register map for the ICM-20689.
|**Addr**<br>**(Hex)**<br>~~re~~<br>~~a~~|**Addr**<br>**(Dec.)**<br>~~re~~<br>|**Register Name**<br>~~re~~|**Serial**<br>**I/F**<br>~~eee~~|**Accessible**<br>**(writable) in**<br>**Sleep Mode**<br>~~eee~~|**Bit7**<br>~~eee~~|**Bit6**<br>~~eee~~|**Bit5**<br>~~eee~~|**Bit4**<br>~~eee~~|**Bit3**<br>~~eee~~|**Bit2**<br>~~eee~~<br>~~eee~~|**Bit1**<br>~~eee~~<br>~~eee~~|**Bit0**<br>~~eee~~<br>~~eee~~|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|00<br>~~re~~<br>~~a a~~<br>~~a~~<br>~~a~~|00<br>~~re~~<br>~~a~~<br>~~a~~|SELF_TEST_X_GYRO<br>~~re~~<br>~~es~~<br>~~es~~|R/W<br>~~eee~~<br>~~ee~~<br>~~ee~~|N<br>~~eee~~<br>~~ee~~<br>~~eG~~|XG_ST_DATA[7:0]<br>~~eee~~<br>~~eee~~<br>~~Gn~~<br>~~eG~~||||||||
|01<br>~~a a~~<br>~~a ~~<br>~~a~~<br>~~a~~|01<br>~~a~~<br> ~~a~~<br>~~es~~|SELF_TEST_Y_GYRO<br>~~es ~~<br>~~es~~<br>~~se~~|R/W<br> ~~ee~~<br>~~ee~~<br>~~se~~|N<br>~~ee~~<br>~~eG~~<br>~~eG~~|YG_ST_DATA[7:0]<br>~~eee~~<br>~~Gn~~<br>~~eG~~<br>~~eG~~||||||||
|02<br> <br>~~a~~<br>~~a~~<br>~~a~~|02<br> ~~a~~<br>~~es~~<br>~~es~~|SELF_TEST_Z_GYRO<br>~~es~~<br>~~se~~<br>~~es~~|R/W<br>~~ee~~<br>~~se~~<br>~~ee~~|N<br>~~eG~~<br>~~eG~~<br>~~ee~~|ZG_ST_DATA[7:0]<br>~~eG~~<br>~~eG~~||||||||
|0D<br>~~a~~<br>~~a~~<br>~~a~~|13<br>~~es~~<br>~~es~~<br>~~es~~<br>|SELF_TEST_X_ACCEL<br>~~se~~<br>~~es~~<br>~~se~~|R/W<br>~~se~~<br>~~ee~~<br>~~se~~|N<br>~~eG~~<br>~~ee~~<br>~~eG~~|XA_ST_DATA[7:0]<br>~~eG~~<br>~~eG~~||||||||
|0E<br>~~a~~<br>~~a~~<br>~~a~~|14<br>~~es~~<br>~~es~~<br>~~a~~<br>|SELF_TEST_Y_ACCEL<br>~~es~~<br>~~se~~<br>~~es~~<br>|R/W<br>~~ee~~<br>~~se~~<br>~~ee~~<br>|N<br>~~ee~~<br>~~eG~~<br>~~ee~~<br>|YA_ST_DATA[7:0]<br>~~eG~~<br>||||||||
|0F<br>~~a ~~<br>~~a~~<br>~~a~~|15<br>~~es~~<br> ~~a~~<br>~~a~~|SELF_TEST_Z_ACCEL<br>~~se~~<br>~~es~~<br>~~es~~|R/W<br>~~se~~<br>~~ee~~<br>~~eG~~|N<br>~~eG~~<br>~~ee~~<br>~~eG~~|ZA_ST_DATA[7:0]<br>~~eG~~<br>~~eG~~||||||||
|13<br> <br>~~a~~<br>~~a~~<br>~~a~~|19<br> ~~a~~<br>~~a~~<br>~~es~~<br>|XG_OFFS_USRH<br>~~es~~<br>~~es~~<br>~~es ee~~<br>|R/W<br>~~ee~~<br>~~eG~~<br>~~ee~~<br>|N<br>~~ee~~<br>~~eG~~<br>~~eG~~<br>|X_OFFS_USR [15:8]<br>~~eG~~<br>~~eG~~<br>||||||||
|14<br> <br>~~a ~~<br>~~a~~<br>~~a~~<br>~~a~~|20<br> ~~a~~<br> ~~a ~~<br>~~es~~<br>~~a~~<br>|XG_OFFS_USRL<br>~~es ~~<br> ~~es~~<br>~~es ee~~<br>~~es~~<br>|R/W<br> ~~ee~~<br>~~eG~~<br>~~ee~~<br>~~eG~~<br>|N<br>~~ee~~<br>~~eG~~<br>~~eG~~<br>~~eG~~<br>|X_OFFS_USR [7:0]<br>~~eG~~<br>~~eG~~<br>~~eG~~<br>||||||||
|15<br>~~a~~<br>~~a~~<br>~~a~~|21<br>~~es~~<br>~~a~~<br>~~**a**~~|YG_OFFS_USRH<br>~~es ee~~<br>~~es~~<br>~~es~~|R/W<br>~~ee~~<br>~~eG~~<br>~~ee~~|N<br>~~eG~~<br>~~eG~~<br>~~**eG**~~|Y_OFFS_USR [15:8]<br>~~eG~~<br>~~eG~~<br>~~**eG**~~||||||||
|16<br> <br>~~a ~~<br>~~a~~|22<br> ~~a ~~<br> ~~**a**~~|YG_OFFS_USRL<br> ~~es~~<br>~~es~~|R/W<br>~~eG~~<br>~~ee~~|N<br>~~eG~~<br>~~**eG**~~|Y_OFFS_USR [7:0]<br>~~eG~~<br>~~**eG**~~||||||||
|17<br> <br>~~a~~<br>~~a~~|23<br> ~~**a**~~<br>~~es~~|ZG_OFFS_USRH<br>~~es~~<br>~~se~~<br>~~es ee~~|R/W<br>~~ee~~<br>~~se~~<br>~~ee~~|N<br>~~**eG**~~<br>~~ee~~|Z_OFFS_USR [15:8]<br>~~**eG**~~||||||||
|18<br> <br>~~a~~<br>~~a~~|24<br> ~~**a** ~~<br>~~es~~|ZG_OFFS_USRL<br> ~~es~~<br>~~se~~<br>~~es ee~~|R/W<br>~~ee~~<br>~~se~~<br>~~ee~~|N<br>~~**eG**~~<br>~~ee~~|Z_OFFS_USR [7:0]<br>~~**eG**~~||||||||
|19<br>~~a~~<br>~~a~~<br>~~a~~|25<br>~~es~~<br>~~a~~<br>~~a~~|SMPLRT_DIV<br>~~es ee~~<br>~~se~~<br>~~es~~|R/W<br>~~ee~~<br>~~se~~<br>~~es~~|N<br>~~ee~~<br>~~eG~~<br>~~es es~~|SMPLRT_DIV[7:0]<br>~~eG~~<br>~~esee~~||||||||
|1A<br>~~a~~<br>~~a~~<br>~~a~~|26<br>~~a~~<br>~~a~~<br>~~a~~|CONFIG<br>~~se~~<br>~~es~~<br>~~ee~~|R/W<br>~~se~~<br>~~es~~<br>~~ee re~~|N<br>~~eG~~<br>~~es es~~<br>~~re~~|-<br>~~eG~~<br>~~es~~<br>~~Gs~~|FIFO_<br>MODE<br>~~eG~~<br>~~ee~~<br>~~Qe~~|EXT_SYNC_SET[2:0]<br>~~eG~~<br>~~ce~~|||DLPF_CFG[2:0]<br>~~eG~~|||
|1B<br>~~a~~<br>~~a~~<br>~~a~~|27<br>~~a~~<br>~~a~~<br>~~a~~|GYRO_CONFIG<br>~~es~~<br>~~ee~~<br>~~se~~|R/W<br>~~es~~<br>~~ee re~~<br>~~se~~|N<br>~~es es~~<br>~~re~~<br>~~Ge~~|XG_ST<br>~~es ~~<br>~~Gs~~<br>~~GQ~~|YG_ST<br> ~~ee~~<br>~~Qe~~<br>~~GQ~~|ZG_ST<br>~~ce~~<br>~~fe~~|FS_SEL [1:0]<br>~~ce~~<br>~~fe~~||-|FCHOICE_B[1:0]||
|1C<br>~~a ~~<br>~~a~~|28<br> ~~a~~<br>~~a~~|ACCEL_CONFIG<br>~~ee~~<br>~~se~~|R/W<br>~~ee re~~<br>~~se~~|N<br>~~re~~<br>~~Ge~~|XA_ST<br>~~Gs~~<br>~~GQ~~<br>~~ee~~|YA_ST<br>~~Qe~~<br>~~GQ~~<br>~~ee~~|ZA_ST<br>~~ce~~<br>~~fe~~|ACCEL_FS_SEL[1:0]<br>~~ce~~<br>~~fe~~||-|||
|1D<br>~~a ~~<br>~~es~~<br>~~a~~|29<br> ~~a~~<br>~~es~~<br>|ACCEL_CONFIG 2<br>~~se~~<br>~~es~~<br>|R/W<br>~~se~~<br>~~es~~<br>|N<br>~~Ge~~<br>~~es~~<br>|FIFO_SIZE<br>~~GQ~~<br>~~es~~<br>~~ee~~<br>~~esee~~<br>||DEC2_CFG<br>~~fe~~<br>~~es~~<br>~~ee~~<br>||ACCEL_FCHOI<br>CE_B<br>~~fe~~<br>~~es~~<br>|A_DLPF_CFG<br>~~es~~<br>|||
|1E<br>~~es~~<br>~~es~~<br>~~a~~<br>~~a~~|30<br>~~es~~<br>~~es~~<br>~~**a**~~|LP_MODE_CFG<br>~~es~~<br>~~es~~<br>~~es ee~~|R/W<br>~~es~~<br>~~es~~<br>~~ee~~|N<br>~~es~~<br>~~es~~<br>~~**eG**~~|GYRO_CYCL<br>E<br>~~es~~<br>~~ee~~<br>~~es~~<br>~~es~~<br>~~**eG**~~|G_AVGCFG[2:0]<br>~~es~~<br>~~ee~~<br>~~es~~<br>~~ee~~<br>~~**eG**~~|||-<br>~~es~~<br>~~es~~<br>~~**eG**~~||||
|20<br>~~es~~<br>~~a ~~<br>~~a~~|32<br>~~es~~<br> ~~**a**~~|ACCEL_WOM_X_THR<br>~~es~~<br>~~es ee~~|R/W<br>~~es~~<br>~~ee~~|N<br>~~es~~<br>~~**eG**~~|WOM_X_TH[7:0]<br>~~es~~<br>~~esee~~<br>~~**eG**~~||||||||
|21<br> <br>~~a~~<br>~~a~~|33<br> ~~**a** ~~<br>~~a~~|ACCEL_WOM_Y_THR<br> ~~es ee~~<br>~~se~~<br>~~es ee~~|R/W<br>~~ee~~<br>~~se~~<br>~~ee~~|N<br>~~**eG**~~<br>~~re~~|WOM_Y_TH[7:0]<br>~~**eG**~~||||||||
|22<br>~~a~~<br>~~a~~|34<br>~~a~~<br>~~a~~|ACCEL_WOM_Z_THR<br>~~es ee~~<br>~~ee~~|R/W<br>~~ee~~<br>~~ee~~|N<br>~~re~~<br>~~ee~~|WOM_Z_TH[7:0]<br>~~eeeeeseses~~||||||||
|23<br>~~a~~<br>~~a~~<br>~~a~~|35<br>~~a ~~<br>~~a~~<br>~~es~~|FIFO_EN<br> ~~es ee~~<br>~~ee~~<br>~~se~~|R/W<br>~~ee~~<br>~~ee~~<br>~~se~~|N<br>~~re~~<br>~~ee~~<br>~~Ge~~|TEMP<br>_FIFO_EN<br>~~ee~~<br>~~Qs~~|XG_FIFO_EN<br>~~ee~~<br>~~QR~~|YG_FIFO_EN<br>~~es~~<br>~~Ge~~|ZG_FIFO_EN<br>~~es~~<br>~~Ge~~|ACCEL_FIFO_<br>EN<br>~~es~~<br>~~OG~~|-<br>~~OG~~|-<br>~~OG~~|-|
|36<br>~~a~~<br>~~a~~|54<br>~~a~~<br>~~es~~|FSYNC_INT<br>~~ee~~<br>~~se~~|R/C<br>~~ee ~~<br>~~se~~|N<br> ~~ee ~~<br>~~Ge~~|FSYNC_INT<br> ~~ee ~~<br>~~Qs~~|-<br> ~~ee ~~<br>~~QR~~|-<br> ~~es ~~<br>~~Ge~~|-<br> ~~es ~~<br>~~Ge~~|-<br> ~~es~~<br>~~OG~~|-<br>~~OG~~|-<br>~~OG~~|-|
|37<br>~~a~~<br>~~eit~~<br>~~a~~|55<br>~~es~~<br>~~eit~~|INT_PIN_CFG<br>~~se~~<br>~~eit~~<br>~~ee~~|R/W<br>~~se~~<br>~~ee~~|Y<br>~~Ge~~|INT_LEVEL<br>~~Qs~~<br>~~ee~~|INT_OPEN<br>~~QR~~<br>~~ee~~|LATCH<br>_INT_EN<br>~~Ge~~|INT_RD<br>_CLEAR<br>~~Ge ~~<br>~~ee~~|FSYNC_INT_L<br>EVEL<br> ~~OG~~<br>~~ee~~|FSYNC<br>_INT_MODE_<br>EN<br>~~OG~~<br>~~ee~~|-<br>~~OG~~<br>~~eee~~|-<br>~~eee~~|
|38<br>~~a~~<br>~~a~~|56<br>~~a~~|INT_ENABLE<br>~~ee~~<br>~~se~~|R/W<br>~~ee~~<br>~~se~~|Y<br>~~GG~~|WOM_INT_EN[7:5]<br>~~ee~~<br>~~GG~~|||FIFO<br>_OFLOW<br>_EN<br>~~ee~~|-<br>~~ee~~|GDRIVE_INT_<br>EN<br>~~ee~~|DMP_INT_EN<br>~~eee~~|DATA_RDY_I<br>NT_EN<br>~~eee~~|
|39<br>~~a~~<br>~~a~~<br>~~ee~~|57<br>~~a~~<br>~~ee~~|DMP_INT_STATUS<br>~~ee~~<br>~~se~~<br>~~ee~~|R/C<br>~~ee~~<br>~~se~~<br>~~ee~~|N<br>~~GG~~<br>~~ee ee~~|-<br>~~ee~~<br>~~GG~~<br>~~ee~~||DMP_INT[5:0]<br>~~ee eee~~<br>~~eeeee~~||||||
|3A<br>~~a ~~<br>~~ee~~<br>~~a~~|58<br> ~~a~~<br>~~ee~~<br>~~es~~|INT_STATUS<br>~~se~~<br>~~ee~~<br>~~ee~~|R/C<br>~~se~~<br>~~ee~~<br>~~ee~~|N<br>~~GG~~<br>~~ee ee~~<br>~~GQ~~|WOM_INT[7:5]<br>~~GG~~<br>~~ee~~<br>~~GQ~~|||FIFO<br>_OFLOW<br>_INT<br>~~ee~~<br>~~GQ~~|-<br>~~ee~~<br>~~GQ~~|GDRIVE_INT<br>~~ee~~<br>~~GQ~~|DMP_INT<br>~~eee~~<br>~~GQ~~|DATA<br>_RDY_INT<br>~~eee~~<br>~~GQ~~|
|3B<br>~~ee~~<br>~~a~~<br>~~a~~|59<br>~~ee~~<br>~~es~~<br>~~es~~|ACCEL_XOUT_H<br>~~ee~~<br>~~ee~~<br>~~es ee~~|R<br>~~ee~~<br>~~ee~~<br>~~ee~~|N<br>~~ee ee~~<br>~~GQ~~<br>~~ee~~|ACCEL_XOUT_H[15:8]<br>~~ee~~<br>~~ee eee~~<br>~~GQ~~||||||||
|3C<br>~~a~~<br>~~a~~|60<br>~~es~~<br>~~es~~|ACCEL_XOUT_L<br>~~ee~~<br>~~es ee~~|R<br>~~ee~~<br>~~ee~~|N<br>~~GQ~~<br>~~ee~~|ACCEL_XOUT_L[7:0]<br>~~GQ~~||||||||
|3D<br>~~a~~<br>~~a~~<br>~~a~~|61<br>~~es~~<br>~~a~~<br>~~es~~|ACCEL_YOUT_H<br>~~es ee~~<br>~~se~~<br>~~es ee~~|R<br>~~ee~~<br>~~se~~<br>~~ee~~|N<br>~~ee~~<br>~~eG~~<br>~~ee~~|ACCEL_YOUT_H[15:8]<br>~~eG~~||||||||
|3E<br>~~a ~~<br>~~a~~|62<br> ~~a~~<br>~~es~~|ACCEL_YOUT_L<br>~~se~~<br>~~es ee~~|R<br>~~se~~<br>~~ee~~|N<br>~~eG~~<br>~~ee~~|ACCEL_YOUT_L[7:0]<br>~~eG~~||||||||
|3F<br>~~a~~<br>~~a~~<br>~~a~~|63<br>~~es~~<br>~~a~~<br>~~es~~|ACCEL_ZOUT_H<br>~~es ee~~<br>~~se~~<br>~~es ee~~|R<br>~~ee~~<br>~~se~~<br>~~ee~~|N<br>~~ee~~<br>~~eG~~<br>~~ee~~|ACCEL_ZOUT_H[15:8]<br>~~eG~~||||||||
|40<br>~~a~~|64<br>~~es~~|ACCEL_ZOUT_L<br>~~es ee~~|R<br>~~ee~~|N<br>~~ee~~|ACCEL_ZOUT_L[7:0]||||||||
|41<br>~~a~~<br>~~a~~<br>~~a~~|65<br>~~es~~<br>~~a~~<br>~~es~~|TEMP_OUT_H<br>~~es ee~~<br>~~se~~<br>~~es ee~~|R<br>~~ee~~<br>~~se~~<br>~~ee~~|N<br>~~ee~~<br>~~eG~~<br>~~ee~~|TEMP_OUT[15:8]<br>~~eG~~||||||||
|42<br>~~a~~|66<br>~~es~~|TEMP_OUT_L<br>~~es ee~~|R<br>~~ee~~|N<br>~~ee~~|TEMP_OUT[7:0]||||||||
|43<br>~~a~~<br>~~a~~<br>~~a~~|67<br>~~es~~<br>~~a~~<br>~~es~~|GYRO_XOUT_H<br>~~es ee~~<br>~~se~~<br>~~es ee~~|R<br>~~ee~~<br>~~se~~<br>~~ee~~|N<br>~~ee~~<br>~~eG~~<br>~~ee~~|GYRO_XOUT[15:8]<br>~~eG~~||||||||
|44<br>~~a ~~<br>~~a~~|68<br> ~~a~~<br>~~es~~|GYRO_XOUT_L<br>~~se~~<br>~~es ee~~|R<br>~~se~~<br>~~ee~~|N<br>~~eG~~<br>~~ee~~|GYRO_XOUT[7:0]<br>~~eG~~||||||||
|45<br>~~a~~<br>~~a ~~<br>~~a~~|69<br>~~es~~<br> ~~a~~<br>~~es~~|GYRO_YOUT_H<br>~~es ee~~<br>~~se~~<br>~~es ee~~|R<br>~~ee~~<br>~~se~~<br>~~ee~~|N<br>~~ee~~<br>~~eG~~<br>~~ee~~|GYRO_YOUT[15:8]<br>~~eG~~||||||||
|46<br>~~a~~|70<br>~~es~~|GYRO_YOUT_L<br>~~es ee~~|R<br>~~ee~~|N<br>~~ee~~|GYRO_YOUT[7:0]||||||||
|47<br>~~a~~<br>~~a~~<br>~~a~~|71<br>~~es~~<br>~~a~~<br>~~a~~|GYRO_ZOUT_H<br>~~es ee~~<br>~~se~~<br>~~es ee~~|R<br>~~ee~~<br>~~se~~<br>~~ee~~|N<br>~~ee~~<br>~~eG~~<br>~~re~~|GYRO_ZOUT[15:8]<br>~~eG~~||||||||
|48<br>~~a ~~<br>~~a~~<br>~~a~~|72<br> ~~a~~<br>~~a~~<br>~~a~~|GYRO_ZOUT_L<br>~~se~~<br>~~es ee~~<br>~~ee~~|R<br>~~se~~<br>~~ee~~<br>~~ee~~|N<br>~~eG~~<br>~~re~~<br>~~ee~~|GYRO_ZOUT[7:0]<br>~~eG~~<br>~~es eeee~~<br>~~esse~~||||||||
|68<br>~~a~~<br>~~a~~|104<br>~~a ~~<br>~~a~~|SIGNAL_PATH_RESET<br> ~~es ee~~<br>~~ee~~|R/W<br>~~ee~~<br>~~ee~~|N<br>~~re~~<br>~~ee~~|-<br>~~es ee~~|-<br>~~ee~~|-<br>~~ee~~|-<br>~~es~~|-<br>~~se~~|-<br>~~se~~|ACCEL<br>_RST|TEMP<br>_RST|
Page 34 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
_**ICM-20689**_
|**Addr**<br>**(Hex)**<br>~~et~~|**Addr**<br>**(Dec.)**<br>~~ettot~~|**Register Name**<br>~~tot~~|**Serial**<br>**I/F**<br>~~tottT~~|**Accessible**<br>**(writable) in**<br>**Sleep Mode**<br>~~tT~~|**Bit7**|**Bit6**|**Bit5**|**Bit4**|**Bit3**|**Bit2**|**Bit1**|**Bit0**|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|69<br>~~et~~<br>~~a~~<br><br>~~a~~|105<br>~~et tot~~<br>~~a~~<br><br>~~a~~|ACCEL_INTEL_CTRL<br>~~tot~~<br>~~ee~~|R/W<br>~~tot tT~~<br>~~ee a~~|N<br>~~tT~~<br>~~a~~|ACCEL_INTE<br>L_EN|ACCEL_INTEL<br>_MODE<br>~~ee~~|-<br>~~eeee~~||||||
|6A<br>~~a~~<br>~~a~~|106<br>~~a ~~<br>~~a~~|USER_CTRL<br> ~~ee~~|R/W<br>~~ee a~~|N<br>~~a~~|DMP_EN|FIFO_EN<br>~~ee~~|-<br>~~ee~~|I2C_IF<br>_DIS<br>~~ee~~|DMP_RST<br>~~ee~~|FIFO<br>_RST<br>~~ee~~|-|SIG_COND<br>_RST|
|6B<br><br>~~a~~|107<br> <br>~~a~~|PWR_MGMT_1<br> ~~ee~~<br>~~a~~|R/W<br>~~ee a~~|Y<br>~~a~~|DEVICE_RES<br>ET|SLEEP<br>~~ee~~|ACCEL_CYCL<br>E<br>~~ee~~|GYRO_<br>STANDBY<br>~~ee~~|TEMP_DIS<br>~~ee ~~|CLKSEL[2:0]<br> ~~ee~~|||
|6C<br>~~es~~|108<br>~~es~~|PWR_MGMT_2<br>~~es~~|R/W<br>~~es~~|Y<br>~~es~~|FIFO_LP_EN<br>~~GQ~~|DMP_LP_DIS<br>~~GQ~~|STBY_XA<br>~~GQ~~|STBY_YA<br>~~GQ~~|STBY_ZA<br>~~GO~~|STBY_XG<br>~~GO~~|STBY_YG<br>~~GO~~|STBY_ZG|
|72<br>~~es~~|114<br>~~es~~|FIFO_COUNTH<br>~~es~~|R<br>~~es~~|N<br>~~es~~|-<br>~~GQ~~|||FIFO_COUNT[12:8]<br>~~GQ GO~~|||||
|73|115|FIFO_COUNTL|R|N|FIFO_COUNT[7:0]||||||||
|74<br>~~eT~~|116<br>~~eT~~|FIFO_R_W<br>~~eT~~|R/W<br>~~eT~~|N<br>~~eT~~|FIFO_DATA[7:0]<br>~~eT~~||||||||
|75<br>~~eT~~|117<br>~~eT~~|WHO_AM_I<br>~~eT~~|R<br>~~eT~~|N<br>~~eT~~|WHOAMI[7:0]<br>~~eT~~||||||||
|77<br>~~eT~~|119<br>~~eT~~|XA_OFFSET_H<br>~~eT~~|R/W<br>~~eT~~|N<br>~~eT~~|XA_OFFS [14:7]<br>~~eT~~||||||||
|78<br>~~eT~~|120<br>~~eT~~|XA_OFFSET_L<br>~~eT~~|R/W<br>~~eT~~|N<br>~~eT~~|XA_OFFS [6:0]<br>~~eT~~|||||||-<br>~~eT~~|
|7A<br>~~eT~~<br>~~eT~~|122<br>~~eT~~<br>~~eT~~|YA_OFFSET_H<br>~~eT~~<br>~~eT~~|R/W<br>~~eT~~<br>~~eT~~|N<br>~~eT~~<br>~~eT~~|YA_OFFS [14:7]<br>~~eT~~<br>~~eT~~||||||||
|7B<br>~~eT~~|123<br>~~eT~~|YA_OFFSET_L<br>~~eT~~|R/W<br>~~eT~~|N<br>~~eT~~|YA_OFFS [6:0]<br>~~eT~~|||||||-<br>~~eT~~|
|7D<br>~~a~~|125<br>~~a~~|ZA_OFFSET_H<br>~~a~~|R/W<br>~~a~~|N<br>~~a~~|ZA_OFFS [14:7]<br>~~a~~||||||||
|7E<br>~~a~~|126<br>~~a~~|ZA_OFFSET_L<br>~~a~~|R/W<br>~~a~~|N<br>~~a~~|ZA_OFFS [6:0]<br>~~a~~|||||||-<br>~~a~~|
Note: Register Names ending in _H and _L contain the high and low bytes, respectively, of an internal register value.
In the detailed register tables that follow, register names are in capital letters, while register values are in capital letters and italicized. For example, the ACCEL_XOUT_H register (Register 59) contains the 8 most significant bits, _ACCEL_XOUT_ [15:8], of the 16bit X-Axis accelerometer measurement, _ACCEL_XOUT_ .
The reset value is 0x00 for all registers other than the registers below, also the self-test registers contain pre-programmed values and will not be 0x00 after reset.
- Register 107 (0x40) Power Management 1
- Register 117 (0x98) WHO_AM_I
Page 35 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
‘TDK InvenSense
_**ICM-20689**_
## _**11 REGISTER DESCRIPTIONS**_
This section describes the function and contents of each register within the ICM-20689. Note: The device will come up in sleep mode upon power-up.
## **11.1 REGISTERS 0 TO 2 – GYROSCOPE SELF-TEST REGISTERS**
## **Register Name: SELF_TEST_X_GYRO, SELF_TEST_Y_GYRO, SELF_TEST_Z_GYRO Type: READ/WRITE**
**Register Address: 00, 01, 02 (Decimal); 00, 01, 02 (Hex)**
|**REGISTER**|**BIT**|**NAME**|**FUNCTION**|
|---|---|---|---|
|SELF_TEST_X_GYRO|[7:0]|XG_ST_DATA[7:0]|The value in this register indicates the self-test output generated<br>during manufacturing tests. This value is to be used to check<br>against subsequent self-test outputsperformed bythe end user.|
|SELF_TEST_Y_GYRO|[7:0]|YG_ST_DATA[7:0]|The value in this register indicates the self-test output generated<br>during manufacturing tests. This value is to be used to check<br>against subsequent self-test outputsperformed bythe end user.|
|SELF_TEST_Z_GYRO|[7:0]|ZG_ST_DATA[7:0]|The value in this register indicates the self-test output generated<br>during manufacturing tests. This value is to be used to check<br>against subsequent self-test outputsperformed bythe end user.|
The equation to convert self-test codes in OTP to factory self-test measurement is:
**==> picture [210 x 13] intentionally omitted <==**
where ST_OTP is the value that is stored in OTP of the device, FS is the Full Scale value, and ST_code is based on the Self-Test value (ST_ FAC) determined in InvenSense’s factory final test and calculated based on the following equation:
**==> picture [253 x 31] intentionally omitted <==**
## **11.2 REGISTERS 13 TO 15 – ACCELEROMETER SELF-TEST REGISTERS**
**Register Name: SELF_TEST_X_ACCEL, SELF_TEST_Y_ACCEL, SELF_TEST_Z_ACCEL Type: READ/WRITE**
|**REGISTER**|**BITS**|**NAME**|**FUNCTION**|
|---|---|---|---|
|SELF_TEST_X_ACCEL|[7:0]|XA_ST_DATA[7:0]|The value in this register indicates the self-test output<br>generated during manufacturing tests. This value is to be used<br>to check against subsequent self-test outputs performed by<br>the end user.|
|SELF_TEST_Y_ACCEL|[7:0]|YA_ST_DATA[7:0]|The value in this register indicates the self-test output<br>generated during manufacturing tests. This value is to be used<br>to check against subsequent self-test outputs performed by<br>the end user.|
|SELF_TEST_Z_ACCEL|[7:0]|ZA_ST_DATA[7:0]|The value in this register indicates the self-test output<br>generated during manufacturing tests. This value is to be used<br>to check against subsequent self-test outputs performed by<br>the end user.|
Page 36 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
‘TDK InvenSense
_**ICM-20689**_
The equation to convert self-test codes in OTP to factory self-test measurement is:
_ST_ OTP_ = (2620 / 2 _FS_ ) *.101( _ST_ code_ − 1) (lsb)
where ST_OTP is the value that is stored in OTP of the device, FS is the Full Scale value, and ST_code is based on the Self-Test value (ST_ FAC) determined in InvenSense’s factory final test and calculated based on the following equation:
**==> picture [253 x 31] intentionally omitted <==**
## **11.3 REGISTER 19 – GYRO OFFSET ADJUSTMENT REGISTER**
**Register Name: XG_OFFS_USRH Register Type: READ/WRITE Register Address: 19 (Decimal); 13 (Hex)**
|**BIT**|**NAME**|**FUNCTION**|
|---|---|---|
|**[7:0]**|X_OFFS_USR[15:8]|Bits 15 to 8 of the 16-bit offset of X gyroscope (2’s complement). This<br>register is used to remove DC bias from the sensor output. The value in<br>this register is added to the gyroscope sensor value before going into<br>the sensor register.|
## **11.4 REGISTER 20 – GYRO OFFSET ADJUSTMENT REGISTER**
**Register Name: XG_OFFS_USRL Register Type: READ/WRITE Register Address: 20 (Decimal); 14 (Hex)**
|**BIT**|**NAME**|**FUNCTION**|
|---|---|---|
|**[7:0]**|X_OFFS_USR[7:0]|Bits 7 to 0 of the 16-bit offset of X gyroscope (2’s complement). This<br>register is used to remove DC bias from the sensor output. The value in<br>this register is added to the gyroscope sensor value before going into<br>the sensor register.|
## **11.5 REGISTER 21 – GYRO OFFSET ADJUSTMENT REGISTER**
**Register Name: YG_OFFS_USRH Register Type: READ/WRITE Register Address: 21 (Decimal); 15 (Hex)**
|**BIT**|**NAME**|**FUNCTION**|
|---|---|---|
|**[7:0]**|Y_OFFS_USR[15:8]|Bits 15 to 8 of the 16-bit offset of Y gyroscope (2’s complement). This<br>register is used to remove DC bias from the sensor output. The value in<br>this register is added to the gyroscope sensor value before going into<br>the sensor register.|
Page 37 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
‘TDK InvenSense
_**ICM-20689**_
## **11.6 REGISTER 22 – GYRO OFFSET ADJUSTMENT REGISTER**
|**BIT**|**NAME**|**FUNCTION**|
|---|---|---|
|**[7:0]**|Y_OFFS_USR[7:0]|Bits 7 to 0 of the 16-bit offset of Y gyroscope (2’s complement). This<br>register is used to remove DC bias from the sensor output. The value in<br>this register is added to the gyroscope sensor value before going into<br>the sensor register.|
## **11.7 REGISTER 23 – GYRO OFFSET ADJUSTMENT REGISTER**
|**BIT**|**NAME**|**FUNCTION**|
|---|---|---|
|**[7:0]**|Z_OFFS_USR[15:8]|Bits 15 to 8 of the 16-bit offset of Z gyroscope (2’s complement). This<br>register is used to remove DC bias from the sensor output. The value in<br>this register is added to the gyroscope sensor value before going into<br>the sensor register.|
## **11.8 REGISTER 24 – GYRO OFFSET ADJUSTMENT REGISTER**
|**BIT**|**NAME**|**FUNCTION**|
|---|---|---|
|**[7:0]**|Z_OFFS_USR[7:0]|Bits 7 to 0 of the 16-bit offset of Z gyroscope (2’s complement). This<br>register is used to remove DC bias from the sensor output. The value in<br>this register is added to the gyroscope sensor value before going into<br>the sensor register.|
## **11.9 REGISTER 25 – SAMPLE RATE DIVIDER**
|**BIT**|**NAME**|**FUNCTION**|
|---|---|---|
|[7:0]|SMPLRT_DIV[7:0]|Divides the internal sample rate (see register CONFIG) to generate the sample<br>rate that controls sensor data output rate, FIFO sample rate.<br>Note: This register is only effective when FCHOICE_B register bits are 2’b00, and<br>(0 < DLPF_CFG < 7).<br>This is the update rate of the sensor register:<br>SAMPLE_RATE = INTERNAL_SAMPLE_RATE / (1 + SMPLRT_DIV)<br>Where INTERNAL_SAMPLE_RATE = 1kHz|
Page 38 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
_**ICM-20689**_
## **11.10 REGISTER 26 – CONFIGURATION**
**Register Name: CONFIG Register Type: READ/WRITE Register Address: 26 (Decimal); 1A (Hex)**
|**BIT**<br>~~a~~|**NAME**<br>~~es~~|**FUNCTION**|
|---|---|---|
|[7]<br>~~a~~|-<br>~~es~~|Always set to 0|
|[6]|FIFO_MODE|When set to ‘1’, when the FIFO is full, additional writes will not be written to FIFO.<br>When set to ‘0’, when the FIFO is full, additional writes will be written to the FIFO,<br>replacingthe oldest data.|
|[5:3]<br>~~ee~~|EXT_SYNC_SET[2:0]<br>~~ee~~|Enables the FSYNC pin data to be sampled.<br>**EXT_SYNC_SET**<br>**FSYNC bit location**<br>0<br>function disabled<br>1<br>TEMP_OUT_L[0]<br>2<br>GYRO_XOUT_L[0]<br>3<br>GYRO_YOUT_L[0]<br>4<br>GYRO_ZOUT_L[0]<br>5<br>ACCEL_XOUT_L[0]<br>6<br>ACCEL_YOUT_L[0]<br>7<br>ACCEL_ZOUT_L[0]<br>FSYNC will be latched to capture short strobes. This will be done such that if FSYNC<br>toggles, the latched value toggles, but won’t toggle again until the new latched value<br>is captured bythe sample rate strobe.<br>~~ee~~|
|[2:0]<br>~~ee~~|DLPF_CFG[2:0]<br>~~ee~~|For the DLPF to be used, FCHOICE_B[1:0] is 2’b00.<br>See the table below.<br>~~ee~~|
FSYNC will be latched to capture short strobes. This will be done such that if FSYNC toggles, the latched value toggles, but won’t toggle again until the new latched value is captured by the sample rate strobe. [2:0] DLPF_CFG[2:0] For the DLPF to be used, FCHOICE_B[1:0] is 2’b00. See the table below. ~~ee ee~~
The DLPF is configured by _DLPF_CFG,_ when _FCHOICE_B_ [1:0] = 2b’00. The gyroscope and temperature sensor are filtered according to the value of _DLPF_CFG_ and _FCHOICE_B_ as shown in the table below.
|**FCHOICE_B**<br>~~a~~|**FCHOICE_B**<br>~~a~~|**DLPF_CFG**<br>~~_~~<br> <br>~~es~~|**Gyroscope**<br>~~ee~~|**Gyroscope**<br>~~ee~~|**Gyroscope**<br>~~ee~~|**Temperature**<br>**Sensor**<br>~~ee~~|
|---|---|---|---|---|---|---|
|<1><br>~~a~~<br>~~es~~|<0><br>~~a ~~<br>~~es~~||3-dB BW<br>(Hz)<br> ~~ee~~<br>~~rs~~|Noise BW<br>(Hz)<br>~~ee~~<br>~~se~~|Rate<br>(kHz)<br>~~ee~~<br>~~se~~|3-dB BW (Hz)<br>~~ee~~|
|X<br>~~es~~|1<br>~~es~~|X<br>~~es~~|8173<br>~~rs~~|8595.1<br>~~se~~|32<br>~~se~~|4000|
|1<br>~~es~~<br>~~es~~|0<br>~~es ~~<br>~~ee~~|X<br> ~~es~~<br>~~Ge~~|3281<br>~~rs~~<br>~~GG~~|3451.0<br>~~se~~<br>~~GG~~|32<br>~~se~~<br>~~GG~~|4000<br>~~GG~~|
|0<br>~~es~~<br>~~es~~|0<br>~~ee~~<br>~~es~~|0<br>~~Ge~~<br>~~ee~~|250<br>~~GG~~<br>~~Gs~~|306.6<br>~~GG~~<br>~~Ge~~|8<br>~~GG~~<br>~~Ge~~|4000<br>~~GG~~|
|0<br>~~es ~~<br>~~es~~<br>~~es~~|0<br> ~~ee~~<br>~~es~~<br>~~es es~~|1<br>~~Ge ~~<br>~~ee~~<br>~~es~~|176<br> ~~GG~~<br>~~Gs~~<br>~~rs~~|177.0<br>~~GG~~<br>~~Ge~~|1<br>~~GG~~<br>~~Ge~~|188<br>~~GG~~|
|0<br>~~es ~~<br>~~es~~<br>~~es~~|0<br> ~~es~~<br>~~es es~~<br>~~Ge~~|2<br>~~ee~~<br>~~es~~<br>~~Ge~~|92<br>~~Gs~~<br>~~rs~~<br>~~Ge~~|108.6<br>~~Ge~~<br>~~Ge~~|1<br>~~Ge~~|98|
|0<br>~~es~~<br>~~es~~<br>~~es~~|0<br>~~es es~~<br>~~Ge~~<br>~~ee~~|3<br>~~es~~<br>~~Ge~~<br>~~Ge~~|41<br>~~rs~~<br>~~Ge~~<br>~~Ge~~|59.0<br>~~Ge~~<br>~~Ge~~|1<br>~~Ge~~|42<br>~~Ge~~|
|0<br>~~es~~<br>~~es~~<br>~~es~~|0<br>~~Ge~~<br>~~ee~~<br>~~ee~~|4<br>~~Ge~~<br>~~Ge~~<br>~~Ge~~|20<br>~~Ge~~<br>~~Ge~~<br>~~Ge~~|30.5<br>~~Ge~~<br>~~Ge~~<br>~~Ge~~|1<br>~~Ge~~<br>~~Ge~~|20<br>~~Ge~~<br>~~Ge~~|
|0<br>~~es~~<br>~~es~~<br>~~es~~|0<br>~~ee~~<br>~~ee~~<br>~~es~~|5<br>~~Ge~~<br>~~Ge~~<br>~~ee~~|10<br>~~Ge~~<br>~~Ge~~<br>~~Gs~~|15.6<br>~~Ge~~<br>~~Ge~~<br>~~Ge~~|1<br>~~Ge~~<br>~~Ge~~<br>~~Ge~~|10<br>~~Ge~~<br>~~Ge~~|
|0<br>~~es~~<br>~~es~~<br>~~Ms~~|0<br>~~ee~~<br>~~es~~<br>~~es es~~|6<br>~~Ge~~<br>~~ee~~<br>~~es~~|5<br>~~Ge~~<br>~~Gs~~<br>~~rs es~~|8.0<br>~~Ge~~<br>~~Ge~~<br>~~es~~|1<br>~~Ge~~<br>~~Ge~~|5<br>~~Ge~~|
|0<br>~~es ~~<br>~~Ms~~|0<br> ~~es~~<br>~~es es~~|7<br>~~ee~~<br>~~es~~|3281<br>~~Gs~~<br>~~rs es~~|3451.0<br>~~Ge~~<br>~~es~~|8<br>~~Ge~~|4000|
Page 39 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
‘TDK InvenSense
_**ICM-20689**_
## **11.11 REGISTER 27 – GYROSCOPE CONFIGURATION**
**Register Name: GYRO_CONFIG Register Type: READ/WRITE**
**Register Address: 27 (Decimal); 1B (Hex)**
|**BIT**|**NAME**|**FUNCTION**|
|---|---|---|
|**[7]**|XG_ST|X Gyro self-test|
|**[6]**|YG_ST|Y Gyro self-test|
|**[5]**|ZG_ST|Z Gyro self-test|
|**[4:3]**|FS_SEL[1:0]|Gyro Full Scale Select:<br>00 = ±250dps<br>01= ±500dps<br>10 = ±1000dps<br>11 = ±2000dps|
|**[2]**|-|Reserved|
|**[1:0]**|FCHOICE_B[1:0]|Used to bypass DLPF as shown in the table above.|
## **11.12 REGISTER 28 – ACCELEROMETER CONFIGURATION**
**Register Name: ACCEL_CONFIG Register Type: READ/WRITE**
**Register Address: 28 (Decimal); 1C (Hex)**
|**BIT**|**NAME**|**FUNCTION**|
|---|---|---|
|**[7]**|XA_ST|X Accel self-test|
|**[6]**|YA_ST|Y Accel self-test|
|**[5]**|ZA_ST|Z Accel self-test|
|**[4:3]**|ACCEL_FS_SEL[1:0]|Accel Full Scale Select:<br>±2g (00),±4g (01),±8g (10),±16g (11)|
|**[2:0]**|-|Reserved|
## **11.13 REGISTER 29 – ACCELEROMETER CONFIGURATION 2**
**Register Name: ACCEL_CONFIG2 Register Type: READ/WRITE Register Address: 29 (Decimal); 1D (Hex)**
|**BIT**|**NAME**|**FUNCTION**|
|---|---|---|
|**[7:6]**|FIFO_SIZE[1:0]|Fifo size control:<br>0=512bytes,<br>1=1 KB,<br>2=2 KB,<br>3=4 KB<br>**NOTE:**After the FIFO size has been changed,the FIFO should be reset.|
|**[5:4]**|DEC2_CFG[1:0]|Averaging filter settings for Low Power Accelerometer mode:<br>0 = Average 4 samples<br>1 = Average 8 samples<br>2 = Average 16 samples<br>3 = Average 32 samples|
|**[3]**|ACCEL_FCHOICE_B|Used to bypass DLPF as shown in the table below.|
|**[2:0]**|A_DLPF_CFG|Accelerometer lowpass filter settingas shown in the table below.|
Page 40 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
_**ICM-20689**_
**Accelerometer Data Rates and Bandwidths (Low-Noise Mode)**
|**ACCEL_FCHOICE_B**|**A_DLPF_CFG**<br>~~—~~<br>~~ees~~|**Accelerometer**<br>~~PC~~<br>~~—|~~<br>~~|~~|**Accelerometer**<br>~~PC~~<br>~~—|~~<br>~~|~~|**Accelerometer**<br>~~PC~~<br>~~—|~~<br>~~|~~|
|---|---|---|---|---|
|||**3-dB BW**<br>**(Hz)**<br>~~—|~~<br>~~es~~|**Noise BW**<br>**(Hz)**<br>~~|~~|**Rate**<br>**(kHz)**|
|1<br>~~es~~|X<br>~~—~~<br>~~es~~<br>~~ees~~<br>~~es~~|1046.0<br>~~— |~~<br>~~es~~<br>~~es~~|1100.0<br>~~|~~<br>~~es~~|4<br>~~es~~|
|0<br>~~es~~|0<br>~~ees ~~<br>~~es~~<br>~~es~~<br>~~es~~|218.1<br> ~~es~~<br>~~es~~|235.0<br>~~es~~|1<br>~~es~~|
|0<br>~~es~~<br>~~Be~~|1<br>~~es~~<br>~~es~~<br>~~es~~<br>~~es~~|218.1<br>~~es~~<br>~~es~~|235.0<br>~~es~~<br>~~es~~|1<br>~~es~~|
|0<br>~~es~~<br>~~Be~~|2<br>~~es~~<br>~~es~~<br>~~es~~|99.0<br>~~es~~<br>~~es~~|121.3<br>~~es~~<br>~~es~~|1<br>~~es~~|
|0<br>~~Be~~<br>~~Be~~|3<br>~~es~~|44.8<br>~~es~~|61.5<br>~~es~~|1|
|0<br>~~Be~~<br>~~Be~~|4<br>~~es~~<br>~~es~~|21.2<br>~~es~~|31.0<br>~~es~~|1|
|0<br>~~Be~~<br>~~es~~|5<br>~~es~~<br>~~es~~<br>~~es~~|10.2<br>~~es~~|15.5<br>~~es~~|1<br>~~es~~|
|0<br>~~es~~|6<br>~~es~~<br>~~es~~<br>~~es~~<br>~~es ee~~|5.1<br>~~es~~<br>~~ee~~|7.8<br>~~es~~<br>~~es~~|1<br>~~es~~|
|0<br>~~es~~|7<br>~~es~~<br>~~es~~<br>~~es ee~~|420.0<br>~~es~~<br>~~ee~~|441.6<br>~~es~~<br>~~es~~|1<br>~~es~~|
The data output rate of the DLPF filter block can be further reduced by a factor of 1/(1+SMPLRT_DIV), where SMPLRT_DIV is an 8-bit integer. Following is a small subset of ODRs that are configurable for the accelerometer in the low-noise mode in this manner (Hz): 3.91, 7.81, 15.63, 31.25, 62.50, 125, 250, 500, 1K.
The following table lists the accelerometer filter bandwidths, noise, and current consumption available in the low-power mode of operation. In the low-power mode of operation, the accelerometer is duty-cycled.
|||~~rs es~~|~~es~~||||
|---|---|---|---|---|---|---|
|ACCEL_FCHOICE_B<br>~~es~~||1<br>~~es~~<br>~~rs es~~<br>~~rs~~|0<br>~~es~~<br>~~es~~<br>~~es~~|0<br>~~es~~|0<br>~~es~~|0<br>~~es~~|
|A_DLPF_CFG<br>~~rs~~||x<br>~~rs es~~<br>~~rs~~<br>~~rs~~<br>~~Gs~~|7<br>~~es~~<br>~~rs~~<br>~~es~~<br>~~Gs~~|7<br>~~rs~~|7<br>~~rs~~|7<br>~~rs~~|
|DEC2_CFG<br>~~ee~~||x<br>~~rs ~~<br>~~ee~~<br>~~Gs~~|0<br> ~~es~~<br>~~ee~~<br>~~Gs~~|1<br>~~ee~~|2<br>~~ee~~|3<br>~~ee~~|
|Averages<br>~~ee~~<br>~~es~~||1x<br>~~ee~~<br>~~Gs~~<br>~~es~~<br>~~es es~~|4x<br>~~ee~~<br>~~Gs~~<br>~~es~~<br>~~es es~~|8x<br>~~ee~~<br>~~es~~<br>~~es~~|16x<br>~~ee~~<br>~~es~~<br>~~ee~~|32x<br>~~ee~~<br>~~es~~|
|Ton(ms)<br>~~es~~<br>~~ee~~||1.084<br>~~es~~<br>~~ee~~<br>~~es es~~<br>~~rs~~|1.84<br>~~es~~<br>~~ee~~<br>~~es es~~<br>~~es~~|2.84<br>~~es~~<br>~~ee~~<br>~~es~~|4.84<br>~~es~~<br>~~ee~~<br>~~ee~~|8.84<br>~~es~~<br>~~ee~~|
|Noise BW(Hz)<br>~~rs~~||1100.0<br>~~es es~~<br>~~rs~~<br>~~rs~~|441.6<br>~~es es~~<br>~~rs~~<br>~~es~~|235.4<br>~~es ~~<br>~~rs~~|121.3<br> ~~ee~~<br>~~rs~~|61.5<br>~~rs~~|
|Noise (mg) TYP based on<br>250µg/√Hz<br>~~ee~~||8.3<br>~~rs ~~<br>~~ee~~|5.3<br> ~~es~~<br>~~ee~~|3.8<br>~~ee~~|2.8<br>~~ee~~|2.0<br>~~ee~~|
|SMPLRT_DIV<br>~~a ee~~<br>~~I~~|ODR<br>(Hz)<br>~~ee~~<br>~~es~~|Current Consumption (µA) TYP<br>~~ee~~<br>~~rdss~~|||||
|255<br>~~I~~<br>~~es~~|3.9<br>~~es~~<br>~~ee~~|8.4<br>~~rd~~|9.4<br>~~ss~~|10.8<br>~~ss~~|13.6|19.2|
|127<br>~~I~~<br>~~es~~<br>~~es~~|7.8<br>~~es~~<br>~~ee~~<br>~~ee~~|9.8<br>~~rd ~~<br>~~Gs~~|11.9<br> ~~ss~~<br>~~Gs~~|14.7<br>~~ss~~<br>~~Gs~~|20.3<br>~~Gs~~|31.4<br>~~Gs~~|
|63<br>~~es ~~<br>~~es~~<br>~~es ee~~|15.6<br> ~~ee~~<br>~~ee~~<br>~~ee GG~~|12.8<br>~~Gs~~<br>~~GG~~|17.0<br>~~Gs~~<br>~~GG~~|22.5<br>~~Gs~~<br>~~GG~~|33.7<br>~~Gs~~<br>~~GG~~|55.9<br>~~Gs~~<br>~~GG~~|
|31<br>~~es ~~<br>~~es ee~~<br>~~es~~|31.3<br> ~~ee ~~<br>~~ee GG~~<br>~~ee es~~|18.7<br> ~~Gs~~<br>~~GG~~<br>~~es~~|27.1<br>~~Gs~~<br>~~GG~~<br>~~es~~|38.2<br>~~Gs~~<br>~~GG~~<br>~~es~~|60.4<br>~~Gs~~<br>~~GG~~|104.9<br>~~Gs~~<br>~~GG~~|
|15<br>~~es ee~~<br>~~es~~|62.5<br>~~ee GG~~<br>~~ee es~~|30.4<br>~~GG~~<br>~~es~~<br>~~er~~|47.2<br>~~GG~~<br>~~es~~|69.4<br>~~GG~~<br>~~es~~|113.9<br>~~GG~~|202.8<br>~~GG~~|
|7<br>~~es~~<br>~~es~~|125.0<br>~~ee es~~<br>~~es~~<br>~~ee~~|57.4<br>~~es ~~<br>~~es~~<br>~~er~~|87.5<br> ~~es ~~<br>~~es~~|132.0<br> ~~es~~<br>~~es~~|220.9<br>~~es~~|N/A|
|3<br>~~es~~|250.0<br>~~es~~<br>~~ee~~<br>~~ee~~|100.9<br>~~er~~<br>~~es~~|168.1<br>~~es~~|257.0<br>~~es~~|N/A||
|1<br>~~ee~~|500.0<br>~~ee~~<br>~~ee~~<br>~~ee~~|194.9<br>~~ee~~|329.3<br>~~ee~~|N/A|||
Page 41 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
_**ICM-20689**_
## **11.14 REGISTER 30 – LOW POWER MODE CONFIGURATION**
**Register Name: LP_MODE_CFG Register Type: READ/WRITE Register Address: 30 (Decimal); 1E (Hex)**
|**BIT**|**NAME**|**FUNCTION**|
|---|---|---|
|**[7]**|GYRO_CYCLE|When set to ‘1’ low-power gyroscope mode is enabled. Default<br>settingis ‘0’|
|**[6:4]**|G_AVGCFG[2:0]|Averaging filter configuration for low-power gyroscope mode.<br>Default settingis ‘000’|
|**[3:0]**|-|Reserved|
To operate in gyroscope low-power mode or 6-axis low-power mode, GYRO_CYCLE should be set to ‘1.’ Gyroscope filter configuration is determined by G_AVGCFG[2:0] that sets the averaging filter configuration. It is not dependent on DLPF_CFG[2:0]. The following table shows some example configurations for gyroscope low power mode.
|FCHOICE_B<br>~~es~~<br>~~rs~~|FCHOICE_B<br>~~es~~<br>~~rs~~|0<br>~~Gr~~<br>~~Gn~~|0|0<br>~~QQ~~<br>~~QQ~~|0<br>~~QQ~~<br>~~QQ~~|0<br>~~QQ~~<br>~~QQ~~|0|0|0|
|---|---|---|---|---|---|---|---|---|---|
|G_AVGCFG<br>~~es~~<br>~~rs~~<br>~~rs~~||0<br>~~Gr~~<br>~~Gn~~<br>~~rr~~|1<br>~~rs~~|2<br>~~QQ~~<br>~~QQ~~<br>~~rs~~|3<br>~~QQ~~<br>~~QQ~~<br>~~QQ~~|4<br>~~QQ~~<br>~~QQ~~<br>~~QQ~~|5|6|7|
|Averages<br>~~rs~~<br>~~rs~~<br>~~rs~~||1x<br>~~Gn~~<br>~~rr~~<br>~~(Re~~|2x<br>~~rs~~|4x<br>~~QQ~~<br>~~rs~~<br>~~QQ~~|8x<br>~~QQ~~<br>~~QQ~~<br>~~QQ~~|16x<br>~~QQ~~<br>~~QQ~~<br>~~QQ~~|32x<br>~~QO~~|64x<br>~~QO~~|128x|
|Ton(ms)<br>~~rs ~~<br>~~rs~~<br>~~rs~~||1.73<br> ~~rr~~<br>~~(Re~~<br>~~(Re~~|2.23<br>~~rs ~~|3.23<br> ~~rs~~<br>~~QQ~~<br>~~QQ~~|5.23<br>~~QQ~~<br>~~QQ~~<br>~~QQ~~|9.23<br>~~QQ~~<br>~~QQ~~<br>~~QQ~~|17.23<br>~~QO~~<br>~~QO~~|33.23<br>~~QO~~<br>~~QO~~|65.23|
|Noise BW(Hz)<br>~~rs ~~<br>~~rs~~<br>~~a~~||650.8<br> ~~(Re~~<br>~~(Re~~<br>~~ee~~|407.1<br>~~ee~~|224.2<br>~~QQ~~<br>~~QQ~~<br>~~ee~~|117.4<br>~~QQ~~<br>~~QQ~~<br>~~ee~~|60.2<br>~~QQ~~<br>~~QQ~~|30.6<br>~~QO~~<br>~~QO~~<br>~~ee~~|15.6<br>~~QO~~<br>~~QO~~<br>~~ee~~|8.0<br>~~ee~~|
|Noise (dps) TYP based on<br>0.008º/s/√Hz<br>~~rs ~~<br>~~a~~||0.20<br> ~~(Re~~<br>~~ee~~|0.16<br>~~ee~~|0.12<br>~~QQ~~<br>~~ee~~|0.09<br>~~QQ~~<br>~~ee~~|0.06<br>~~QQ~~|0.04<br>~~QO~~<br>~~ee~~|0.03<br>~~QO~~<br>~~ee~~|0.02<br>~~ee~~|
|SMPLRT_DIV<br>~~a~~<br>~~es~~|ODR<br>(Hz)<br>~~a~~<br>~~ee~~|Current Consumption (mA) TYP<br>~~ee ee ee ee~~<br>~~ee~~<br>~~Gr~~<br>~~QQ~~||||||||
|255<br>~~es~~<br>~~rs~~|3.9<br>~~ee~~<br>~~es~~|1.3<br>~~Gr~~<br>~~Gr~~|1.3|1.3<br>~~QQ~~<br>~~QQ~~|1.3<br>~~QQ~~<br>~~QQ~~|1.4<br>~~QQ~~<br>~~QQ~~|1.4|1.5|1.8|
|99<br>~~es ~~<br>~~rs~~<br>~~rs~~|10.0<br> ~~ee~~<br>~~es~~<br>|1.3<br>~~Gr~~<br>~~Gr~~<br>~~Gr~~<br>|1.3<br>|1.4<br>~~QQ~~<br>~~QQ~~<br>~~QO~~<br>|1.4<br>~~QQ~~<br>~~QQ~~<br>~~QO~~<br>|1.5<br>~~QQ~~<br>~~QQ~~<br>~~QO~~|1.6|1.9|2.5|
|64<br>~~rs ~~<br>~~ss~~<br>~~rs~~<br>~~es~~|15.4<br> ~~es~~<br>~~ss~~<br>~~ers~~<br>|1.4<br>~~Gr~~<br>~~ss~~<br>~~Gr~~<br>~~re~~<br>|1.4<br>~~ss~~<br>~~rr~~<br>|1.4<br>~~QQ~~<br>~~ss~~<br>~~QO~~<br>~~ss~~<br>|1.5<br>~~QQ~~<br>~~ss~~<br>~~QO~~<br>~~ss~~<br>|1.6<br>~~QQ~~<br>~~ss~~<br>~~QO~~|1.8<br>~~ss~~|2.2<br>~~ss~~|N/A|
|32<br>~~ss~~<br>~~rs~~<br>~~es~~<br>~~es~~|30.3<br>~~ss~~<br>~~ers~~<br>~~rs~~<br>|1.4<br>~~ss~~<br>~~Gr~~<br>~~re~~<br>~~rs~~<br>|1.4<br>~~ss~~<br>~~rr~~<br>~~rs~~|1.5<br>~~ss~~<br>~~QO~~<br>~~ss~~<br>~~(~~|1.6<br>~~ss~~<br>~~QO~~<br>~~ss~~<br>~~(~~|1.8<br>~~ss~~<br>~~QO~~|2.2<br>~~ss~~|N/A<br>~~ss~~||
|19<br>~~rs ~~<br>~~es~~<br>~~es~~<br>~~es~~|50.0<br> ~~ers~~<br>~~rs~~<br>~~G~~~~**s**~~<br>|1.5<br>~~Gr~~<br>~~re~~<br>~~rs~~<br>~~Gr~~|1.5<br>~~rr~~<br>~~rs~~|1.6<br>~~QO~~<br>~~ss~~<br>~~(~~|1.8<br>~~QO~~<br>~~ss~~<br>~~(~~|2.1<br>~~QO~~|2.8|||
|9<br> <br>~~es ~~<br>~~es~~<br>~~es e~~|100.0<br> ~~ers ~~<br> ~~rs~~<br>~~G~~~~**s**~~<br>~~e~~|1.6<br> ~~re ~~<br>~~rs~~<br>~~Gr~~|1.7<br> ~~rr ~~<br>~~rs~~|1.9<br> ~~ss~~<br>~~(~~|2.2<br>~~ss~~<br>~~(~~|3.0|N/A|||
|7<br> <br>~~es~~<br>~~es e~~|125.0<br> ~~rs ~~<br>~~G~~~~**s**~~<br>~~e~~<br>~~ee ee~~|1.7<br> ~~rs ~~<br>~~Gr~~<br>~~ee~~|1.8<br> ~~rs ~~<br>~~ee~~|2.0<br> ~~(~~|2.5<br>~~(~~|N/A||||
|4<br><br>~~es e~~<br>~~ee~~|200.0<br>~~G~~~~**s**~~<br>~~e~~<br>~~ee~~<br>~~ee ee~~<br>~~ee ee~~|1.9<br>~~Gr~~<br>~~ee~~<br>~~ee~~<br>~~ee~~|2.1<br>~~ee~~<br>~~ee~~<br>~~ee~~|2.5<br>~~ee~~|N/A|||||
|3<br>~~ee~~<br>~~ee~~|250.0<br>~~ee~~<br>~~ee ee~~<br>~~ee~~<br>~~ee ee~~<br>~~es~~|2.1<br>~~ee~~<br>~~ee~~<br>~~ee~~<br>~~ee~~<br>~~ee~~|2.3<br>~~ee~~<br>~~ee~~<br>~~ee~~<br>~~ee~~|2.7<br>~~ee~~<br>~~ee~~||||||
|2<br>~~ee~~|333.3<br>~~ee ee~~<br>~~ee~~<br>~~es~~<br>~~ee~~|2.3<br>~~ee~~<br>~~ee~~<br>~~ee~~<br>~~ee~~|2.6<br>~~ee~~<br>~~ee~~<br>~~ee~~|N/A||||||
|1<br>~~ee~~|500.0<br>~~es ~~<br>~~ee~~<br>~~ee~~|2.9<br> ~~ee~~<br>~~ee~~<br>~~ee~~|N/A<br>~~ee~~|||||||
## **11.15 REGISTER 31 – X-AXIS WAKE-ON MOTION THRESHOLD (ACCELEROMETER)**
**Register Name: ACCEL_WOM_X_THR Register Type: READ/WRITE Register Address: 32 (Decimal); 20 (Hex) BIT NAME FUNCTION [7:0]** WOM_X_TH[7:0] Wake on Motion Interrupt threshold for X-axis accelerometer.
Page 42 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
‘TDK InvenSense
_**ICM-20689**_
## **11.16 REGISTER 32 – Y-AXIS WAKE-ON MOTION THRESHOLD (ACCELEROMETER)**
**Register Name: ACCEL_WOM_Y_THR Register Type: READ/WRITE Register Address: 33 (Decimal); 21 (Hex) BIT NAME FUNCTION** ~~ee~~ **[7:0]** WOM_Y_TH[7:0] Wake on Motion Interrupt threshold for Y-axis accelerometer.
## **11.17 REGISTER 33 – Z-AXIS WAKE-ON MOTION THRESHOLD (ACCELEROMETER)**
**Register Name: ACCEL_WOM_Z_THR Register Type: READ/WRITE Register Address: 34 (Decimal); 22 (Hex) BIT NAME FUNCTION** ~~Ee~~ **[7:0]** WOM_Z_TH[7:0] Wake on Motion Interrupt threshold for Z-axis accelerometer.
## **11.18 REGISTER 35 – FIFO ENABLE**
|**BIT**|**NAME**|**FUNCTION**|
|---|---|---|
|**[7]**|TEMP_FIFO_EN|1 – Write TEMP_OUT_H and TEMP_OUT_L to the FIFO at the sample rate; If<br>enabled, buffering of data occurs even if data path is in standby.<br>0 – Function is disabled|
|**[6]**|XG_FIFO_EN|1 – Write GYRO_XOUT_H and GYRO_XOUT_L to the FIFO at the sample rate; If<br>enabled, buffering of data occurs even if data path is in standby.<br>0 – Function is disabled|
|**[5]**|YG_FIFO_EN|1 – Write GYRO_YOUT_H and GYRO_YOUT_L to the FIFO at the sample rate; If<br>enabled, buffering of data occurs even if data path is in standby.<br>0 – Function is disabled<br>NOTE: Enabling any one of the bits corresponding to the Gyros or Temp data<br>paths, data is buffered into the FIFO even though that data path is not<br>enabled.|
|**[4]**|ZG_FIFO_EN|1 – Write GYRO_ZOUT_H and GYRO_ZOUT_L to the FIFO at the sample rate; If<br>enabled, buffering of data occurs even if data path is in standby.<br>0 – function is disabled|
|**[3]**|ACCEL_FIFO_EN|1 – Write ACCEL_XOUT_H, ACCEL_XOUT_L, ACCEL_YOUT_H, ACCEL_YOUT_L,<br>ACCEL_ZOUT_H, and ACCEL_ZOUT_L to the FIFO at the sample rate;<br>0 – Function is disabled|
|**[2:0]**|-|Reserved|
## **11.19 REGISTER 54 – FSYNC INTERRUPT STATUS**
||**Register Name: FSYNC_INT**|**Register Name: FSYNC_INT**||
|---|---|---|---|
||**Register Type: READ to CLEAR**|||
||**Register Address: 54(Decimal); 36(Hex)**|||
|**BIT**||**NAME**|**FUNCTION**|
|**[7]**||FSYNC_INT|This bit automatically sets to 1 when a FSYNC interrupt has been generated.<br>The bit clears to 0 after the register has been read.|
Page 43 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
‘TDK InvenSense
_**ICM-20689**_
## **11.20 REGISTER 55 – INT/DRDY PIN / BYPASS ENABLE CONFIGURATION**
**Register Name: INT_PIN_CFG Register Type: READ/WRITE Register Address: 55 (Decimal); 37 (Hex)**
|**BIT**|**NAME**|**FUNCTION**|
|---|---|---|
|**[7]**|INT_LEVEL|1 – The logic level for INT/DRDY pin is active low.<br>0 – The logic level for INT/DRDYpin is active high.|
|**[6]**|INT_OPEN|1 – INT/DRDY pin is configured as open drain.<br>0 – INT/DRDYpin is configured aspush-pull.|
|**[5]**|LATCH_INT_EN|1 – INT/DRDY pin level held until interrupt status is cleared.<br>0 – INT/DRDYpin indicates interruptpulse’s width is 50us.|
|**[4]**|INT_RD_CLEAR|1 – Interrupt status is cleared if any read operation is performed.<br>0 – Interrupt status is cleared onlybyreadingINT_STATUS register|
|**[3]**|FSYNC_INT_LEVEL|1 – The logic level for the FSYNC pin as an interrupt is active low.<br>0 – The logic level for the FSYNCpin as an interrupt is active high.|
|**[2]**|FSYNC_INT_MODE_EN|1 – The FSYNC pin will trigger an interrupt when it transitions to the level<br>specified by F_SYNC_INT_LEVEL_.<br>0– TheFSYNC pin is disabledfromcausing an interrupt.|
|**[1]**|-|Reserved|
|**[0]**|-|Always set to 0|
## **11.21 REGISTER 56 – INTERRUPT ENABLE**
**Register Name: INT_ENABLE Register Type: READ/WRITE Register Address: 56 (Decimal); 38 (Hex)**
|**BIT**|**NAME**|**FUNCTION**|
|---|---|---|
|**[7:5]**|WOM_INT_EN[7:5]|111 – Enable WoM interrupt on accelerometer.<br>000 – Disable WoM interrupt on accelerometer.|
|**[4]**|FIFO_OFLOW_EN|1 – Enables a FIFO buffer overflow to generate an interrupt.<br>0 – Function is disabled.|
|**[3]**|-|Reserved|
|**[2]**|GDRIVE_INT_EN|Gyroscope Drive System Readyinterrupt enable|
|**[1]**|DMP_INT_EN|DMP interrupt enable|
|**[0]**|DATA_RDY_INT_EN|Data readyinterrupt enable|
## **11.22 REGISTER 57 – DMP INTERRUPT STATUS**
||**Register Name: DMP_INT_STATUS**|**Register Name: DMP_INT_STATUS**|
|---|---|---|
||**Register Type: READ to CLEAR**||
||**Register Address: 57(Decimal); 39(Hex)**||
|**BIT**|**NAME**|**FUNCTION**|
|**[7:6]**|-|Reserved|
|**[5:0]**|DMP_INT|DMP interrupts|
Page 44 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
_**ICM-20689**_
## **11.23 REGISTER 58 – INTERRUPT STATUS**
|**BIT**|**NAME**|**FUNCTION**|
|---|---|---|
|**[7:5]**|WOM_INT|Accelerometer WoM interrupt status. Cleared on Read.<br>111 – WoM interrupt on accelerometer|
|**[4]**|FIFO_OFLOW_INT|This bit automatically sets to 1 when a FIFO buffer overflow has been<br>generated. The bit clears to 0 after the register has been read.|
|**[3]**|-|Reserved.|
|**[2]**|GDRIVE_INT|Gyroscope Drive System Readyinterrupt|
|**[1]**|DMP_INT|DMP interrupt|
|**[0]**|DATA_RDY_INT|This bit automatically sets to 1 when a Data Ready interrupt is generated. The<br>bit clears to 0 after the register has been read.|
## **11.24 REGISTERS 59 TO 64 – ACCELEROMETER MEASUREMENTS**
**Register Name: ACCEL_XOUT_H Register Type: READ only Register Address: 59 (Decimal); 3B (Hex) BIT NAME FUNCTION [7:0]** ACCEL_XOUT_H[15:8] High byte of accelerometer x-axis data. ~~EE~~ **Register Name: ACCEL_XOUT_L Register Type: READ only Register Address: 60 (Decimal); 3C (Hex) BIT NAME FUNCTION** ~~Se~~ **[7:0]** ACCEL_XOUT_L[7:0] Low byte of accelerometer x-axis data. **Register Name: ACCEL_YOUT_H Register Type: READ only Register Address: 61 (Decimal); 3D (Hex) BIT NAME FUNCTION** ~~Se~~ **[7:0]** ACCEL_YOUT_H[15:8] High byte of accelerometer y-axis data. **Register Name: ACCEL_YOUT_L Register Type: READ only Register Address: 62 (Decimal); 3E (Hex) BIT NAME FUNCTION [7:0]** ACCEL_YOUT_L[7:0] Low byte of accelerometer y-axis data. ~~EE~~ **Register Name: ACCEL_ZOUT_H Register Type: READ only Register Address: 63 (Decimal); 3F (Hex) BIT NAME FUNCTION** ~~Se~~ **[7:0]** ACCEL_ZOUT_H[15:8] High byte of accelerometer z-axis data. **Register Name: ACCEL_ZOUT_L Register Type: READ only Register Address: 64 (Decimal); 40 (Hex) BIT NAME FUNCTION** ~~Se~~ **[7:0]** ACCEL_ZOUT_L[7:0] Low byte of accelerometer z-axis data.
Page 45 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
_**ICM-20689**_
## **11.25 REGISTERS 65 AND 66 – TEMPERATURE MEASUREMENT**
**Register Name: TEMP_OUT_H Register Type: READ only Register Address: 65 (Decimal); 41 (Hex) BIT NAME FUNCTION** ~~Sesame:~~ **[7:0]** TEMP_OUT[15:8] High byte of the temperature sensor out ~~OS we~~ put ~~<s“|/_/s~~ **Register Name: TEMP_OUT_L Register Type: READ only Register Address: 66 (Decimal); 42 (Hex)**
**BIT NAME FUNCTION** Low byte of the temperature sensor output **TEMP_degC** = ((TEMP_OUT – **[7:0]** TEMP_OUT[7:0] RoomTemp_Offset)/Temp_Sensitivity) + ~~a ee~~ 25degC
## **11.26 REGISTERS 67 TO 72 – GYROSCOPE MEASUREMENTS**
**Register Name: GYRO_XOUT_H Register Type: READ only Register Address: 67 (Decimal); 43 (Hex) BIT NAME FUNCTION** ~~NSN~~ **[7:0]** GYRO_XOUT[15:8] High byte of the X-Axis gyroscope output ~~;—©uB~l)~~ **Register Name: GYRO_XOUT_L Register Type: READ only Register Address: 68 (Decimal); 44 (Hex) BIT NAME FUNCTION** Low byte of the X-Axis gyroscope output **GYRO_XOUT =** Gyro_Sensitivity * X_angular_rate **[7:0]** GYRO_XOUT[7:0] Nominal FS_SEL = 0 Conditions Gyro_Sensitivity = 131 LSB/(º/s) **Register Name: GYRO_YOUT_H Register Type: READ only Register Address: 69 (Decimal); 45 (Hex) BIT NAME FUNCTION** ~~a~~ **[7:0]** GYRO_YOUT[15:8] High byte of the Y-Axis gyroscope output **Register Name: GYRO_YOUT_L Register Type: READ only Register Address: 70 (Decimal); 46 (Hex)**
**BIT NAME FUNCTION** Low byte of the Y-Axis gyroscope output **GYRO_YOUT =** Gyro_Sensitivity * Y_angular_rate **[7:0]** GYRO_YOUT[7:0] Nominal FS_SEL = 0 Conditions Gyro_Sensitivity = 131 LSB/(º/s)
**Register Name: GYRO_ZOUT_H Register Type: READ only Register Address: 71 (Decimal); 47 (Hex) BIT NAME FUNCTION** ~~a~~ **[7:0]** GYRO_ZOUT[15:8] High byte of the Z-Axis gyroscope output
Page 46 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
‘TDK InvenSense
_**ICM-20689**_
|**BIT**|**NAME**|**FUNCTION **|**FUNCTION **|
|---|---|---|---|
|**[7:0]**|GYRO_ZOUT[7:0]|Lowbyte oftheZ-Axis gyroscope output||
|||**GYRO_ZOUT**=|Gyro_Sensitivity* Z_angular_rate|
|||**Nominal Conditions**|_FS_SEL = 0_<br>_Gyro_Sensitivity = 131 LSB/(º/s)_|
## **11.27 REGISTER 104 – SIGNAL PATH RESET**
**Register Name: SIGNAL_PATH_RESET Register Type: READ/WRITE Register Address: 104 (Decimal); 68 (Hex)**
|**BIT**|**NAME**|**FUNCTION**|
|---|---|---|
|**[7:2]**|-|Reserved|
|**[1]**|ACCEL_RST|Reset accel digital signal path. Note: Sensor registers are not cleared. Use<br>SIG_COND_RST to clear sensor registers.|
|**[0]**|TEMP_RST|Reset temp digital signal path. Note: Sensor registers are not cleared. Use<br>SIG_COND_RST to clear sensor registers.|
## **11.28 REGISTER 105 – ACCELEROMETER INTELLIGENCE CONTROL**
**Register Name: ACCEL_INTEL_CTRL Register Type: READ/WRITE Register Address: 105 (Decimal); 69 (Hex)**
|**BIT**|**NAME**|**FUNCTION**|
|---|---|---|
|**[7]**|ACCEL_INTEL_EN|This bit enables the Wake-on-Motion detection logic|
|**[6]**|ACCEL_INTEL_MODE|0 – Do not use<br>1 – Compare the current sample with theprevious sample|
|**[5:0]**|-|Reserved|
## **11.29 REGISTER 106 – USER CONTROL**
**Register Name: USER_CTRL Register Type: READ/WRITE Register Address: 106 (Decimal); 6A (Hex)**
|**BIT**|**NAME**|**FUNCTION**|
|---|---|---|
|**[7]**|DMP_EN|Enable DMP.|
|**[6]**|FIFO_EN|1 – Enable FIFO operation mode.<br>0 – Disable FIFO access from serial interface. To disable FIFO writes by DMA, use<br>FIFO_EN register. To disablepossible FIFO writes from DMP,disable the DMP.|
|**[5]**|-|Reserved|
|**[4]**|I2C_IF_DIS|1 – Disable I2C Slave module andput the serial interface in SPI mode only.|
|**[3]**|DMP_RST|Reset DMP.|
|**[2]**|FIFO_RST|1 – Reset FIFO module. Reset is asynchronous. This bit auto clears after one clock<br>cycle of the internal 20MHz clock.|
|**[1]**|-|Reserved|
|**[0]**|SIG_COND_RST|1 – Reset all gyro digital signal path, accel digital signal path, and temp digital signal<br>path. This bit also clears all the sensor registers.|
Page 47 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
‘TDK InvenSense
_**ICM-20689**_
## **11.30 REGISTER 107 – POWER MANAGEMENT 1**
|**BIT**|**NAME**|**FUNCTION**|
|---|---|---|
|**[7]**|DEVICE_RESET|1 – Reset the internal registers and restores the default settings. The bit<br>automaticallyclears to 0 once the reset is done.|
|**[6]**|SLEEP|1 – The chip is set to sleep mode.<br>Note: The default value is 1;the chipcomes upin Sleepmode|
|**[5]**|ACCEL_CYCLE|When set to 1, and SLEEP and STANDBY are not set to 1, the chip will cycle between<br>sleep and taking a single accelerometer sample at a rate determined by<br>SMPLRT_DIV<br>Note: When all accelerometer axes are disabled via PWR_MGMT_2 register bits<br>and cycle is enabled, the chip will wake up at the rate determined by the respective<br>registers above,but will not take anysamples.|
|**[4]**|GYRO_STANDBY|When set, the gyro drive and pll circuitry are enabled, but the sense paths are<br>disabled. This is a lowpower mode that allowsquick enablingof thegyros.|
|**[3]**|TEMP_DIS|When set to 1,this bit disables the temperature sensor.|
|**[2:0]**|CLKSEL[2:0]|**Code Clock Source**<br>0<br>Internal 20 MHz oscillator<br>1<br>Auto selects the best available clock source – PLL if ready, else use the<br>Internal oscillator<br>2<br>Auto selects the best available clock source – PLL if ready, else use the<br>Internal oscillator<br>3<br>Auto selects the best available clock source – PLL if ready, else use the<br>Internal oscillator<br>4<br>Auto selects the best available clock source – PLL if ready, else use the<br>Internal oscillator<br>5<br>Auto selects the best available clock source – PLL if ready, else use the<br>Internal oscillator<br>6<br>Internal 20 MHz oscillator<br>7<br>Stops the clock and keeps timing generator in reset|
Note: The default value of CLKSEL[2:0] is 000. It is required that CLKSEL[2:0] be set to 001 to achieve full gyroscope performance.
## **11.31 REGISTER 108 – POWER MANAGEMENT 2**
**Register Name: PWR_MGMT_2 Register Type: READ/WRITE Register Address: 108 (Decimal); 6C (Hex)**
|**BIT**|**NAME**|**FUNCTION**|
|---|---|---|
|**[7]**|FIFO_LP_EN|1 – Enable FIFO in low-power accelerometer mode. Default settingis 0.|
|**[6]**|DMP_LP_DIS|1 - Disable DMP execution in low-power accelerometer mode. Default settingis 0.|
|**[5]**|STBY_XA|1 – X accelerometer is disabled<br>0 – X accelerometer is on|
|**[4]**|STBY_YA|1 – Y accelerometer is disabled<br>0 – Y accelerometer is on|
|**[3]**|STBY_ZA|1 – Z accelerometer is disabled<br>0 – Z accelerometer is on|
|**[2]**|STBY_XG|1 – X gyro is disabled<br>0 – Xgyro is on|
|**[1]**|STBY_YG|1 – Y gyro is disabled<br>0 – Ygyro is on|
|**[0]**|STBY_ZG|1 – Z gyro is disabled<br>0 – Zgyro is on|
Page 48 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
_**ICM-20689**_
## **11.32 REGISTER 114 AND 115 – FIFO COUNT REGISTERS**
**Register Name: FIFO_COUNTH Register Type: READ Only Register Address: 114 (Decimal); 72 (Hex)**
|**BIT**|**NAME**|**FUNCTION**|
|---|---|---|
|**[7:5]**|-|Reserved|
|**[4:0]**|FIFO_COUNT[12:8]|High Bits, count indicates the number of written bytes in the FIFO.<br>Readingthis byte latches the data for both FIFO_COUNTH,and FIFO_COUNTL.|
**Register Name: FIFO_COUNTL Register Type: READ Only Register Address: 115 (Decimal); 73 (Hex)**
|**BIT**|**NAME**|**FUNCTION**|
|---|---|---|
|**[7:0]**|FIFO_COUNT[7:0]|Low Bits, count indicates the number of written bytes in the FIFO. Note: Must<br>read FIFO_COUNTH to latch new data for both FIFO_COUNTH and<br>FIFO_COUNTL.|
## **11.33 REGISTER 116 – FIFO READ WRITE**
**Register Name: FIFO_R_W Register Type: READ/WRITE Register Address: 116 (Decimal); 74 (Hex) BIT NAME FUNCTION** ~~_~~ **[7:0]** FIFO_DATA[7:0] Read/Write command provides Read or Write operation for the FIFO.
## **Description:**
This register is used to read and write data from the FIFO buffer.
Data is written to the FIFO in order of register number (from lowest to highest). If all the FIFO enable flags (see below) are enabled, the contents of registers 59 through 72 will be written in order at the Sample Rate.
The contents of the sensor data registers (Registers 59 to 72) are written into the FIFO buffer when their corresponding FIFO enable flags are set to 1 in FIFO_EN (Register 35).
If the FIFO buffer has overflowed, the status bit _FIFO_OFLOW_INT_ is automatically set to 1. This bit is located in INT_STATUS (Register 58). When the FIFO buffer has overflowed, the oldest data will be lost and new data will be written to the FIFO unless register 26 CONFIG, bit[6] FIFO_MODE = 1.
If the FIFO buffer is empty, reading register FIFO_DATA will return a unique value of 0xFF until new data is available. Normal data is precluded from ever indicating 0xFF, so 0xFF gives a trustworthy indication of FIFO empty.
## **11.34 REGISTER 117 – WHO AM I**
**Register Name: WHO_AM_I Register Type: READ only Register Address: 117 (Decimal); 75 (Hex) BIT NAME FUNCTION** ~~EE~~ **[7:0]** WHOAMI Register to indicate to user which device is being accessed. ~~eee~~ This register is used to verify the identity of the device. The contents of _WHOAMI_ is an 8-bit device ID. The default value of the register is 0x98. This is different from the I2C address of the device as seen on the slave I2C controller by the applications processor. The I2C address of the ICM-20689 is 0x68 or 0x69 depending upon the value driven on AD0 pin.
Page 49 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
_**ICM-20689**_
## **11.35 REGISTERS 119, 120, 122, 123, 125, 126 ACCELEROMETER OFFSET REGISTERS**
|**Register Name: XA_OFFSET_H**|
|---|
|**Register Type: READ/WRITE**<br>**Register Address: 119(Decimal); 77(Hex)**<br>**BIT**<br>**NAME**<br>**FUNCTION**<br>**[7:0]**<br>XA_OFFS[14:7]<br>Upper bits of the X accelerometer offset cancellation. +/- 16g Offset cancellation<br>in all Full Scale modes,15 bit 0.98-mgsteps<br>**Register Name: XA_OFFSET_L**<br>~~PP ———~~|
|**Register Type: READ/WRITE**|
|**Register Address: 120 (Decimal); 78 (Hex)**<br>**BIT**<br>**NAME**<br>**FUNCTION**<br>**[7:1]**<br>XA_OFFS[6:0]<br>Lower bits of the X accelerometer offset cancellation. +/- 16g Offset cancellation<br>in all Full Scale modes,15 bit 0.98-mgsteps<br>**[0]**<br>-<br>Reserved<br>**Register Name: YA_OFFSET_H**<br>~~Se~~|
|**Register Type: READ/WRITE**|
|**Register Address: 122(Decimal); 7A (Hex)**<br>**BIT**<br>**NAME**<br>**FUNCTION**<br>**[7:0]**<br>YA_OFFS[14:7]<br>Upper bits of the Y accelerometer offset cancellation. +/- 16g Offset cancellation<br>in all Full Scale modes,15 bit 0.98-mgsteps<br>~~———~~|
|**Register Name: YA_OFFSET_L**|
|**Register Type: READ/WRITE**|
|**Register Address: 123 (Decimal); 7B (Hex)**<br>**BIT**<br>**NAME**<br>**FUNCTION**<br>**[7:1]**<br>YA_OFFS[6:0]<br>Lower bits of the Y accelerometer offset cancellation. +/- 16g Offset cancellation<br>in all Full Scale modes,15 bit 0.98-mgsteps<br>**[0]**<br>-<br>Reserved<br>~~————~~|
|**Register Name: ZA_OFFSET_H**|
|**Register Type: READ/WRITE**|
|**Register Address: 125 (Decimal); 7D (Hex)**<br>**BIT**<br>**NAME**<br>**FUNCTION**<br>**[7:0]**<br>ZA_OFFS[14:7]<br>Upper bits of the Z accelerometer offset cancellation. +/- 16g Offset cancellation<br>in all Full Scale modes,15 bit 0.98-mgsteps<br>~~———~~|
|**Register Name: ZA_OFFSET_L**|
|**Register Type: READ/WRITE**|
|**Register Address: 126 (Decimal); 7E (Hex)**<br>**BIT**<br>**NAME**<br>**FUNCTION**<br>**[7:1]**<br>ZA_OFFS[6:0]<br>Lower bits of the Z accelerometer offset cancellation. +/- 16g Offset cancellation<br>in all Full Scale modes,15 bit 0.98-mgsteps<br>**[0]**<br>-<br>Reserved<br>~~————~~|
Page 50 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
_**ICM-20689**_
## _**12 REFERENCE**_
Please refer to “InvenSense MEMS Handling Application Note (AN-IVS-0002A-00)” for the following information:
- Manufacturing Recommendations
- Assembly Guidelines and Recommendations
- PCB Design Guidelines and Recommendations
- MEMS Handling Instructions
- ESD Considerations
- Reflow Specification
- Storage Specifications
- Package Marking Specification
- Tape & Reel Specification
- Reel & Pizza Box Label
- Packaging
- Representative Shipping Carton Label
- Compliance
- Environmental Compliance
- DRC Compliance
- Compliance Declaration Disclaimer
Page 51 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
{TDK InvenSense
_**ICM-20689**_
## _**13 REVISION HISTORY**_
|**REVISION**<br>**DATE**|**REVISION**|**DESCRIPTION**|
|---|---|---|
|01/28/2016|1.0|Initial Release|
|04/07/2016|1.1|Updated Sections 1, 2, 4, 5, 10, 11|
|04/21/2016|1.2|Updated Sections 1, 3|
|07/28/2016|2.0|Updated Section 3|
|02/08/2018|2.1|Updated Sections 10, 11|
|03/14/2018|2.2|Updated Sections 5, 10, 11|
Page 52 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
_**ICM-20689**_
This information furnished by InvenSense, Inc. (“InvenSense”) is believed to be accurate and reliable. However, no responsibility is assumed by InvenSense for its use, or for any infringements of patents or other rights of third parties that may result from its use. Specifications are subject to change without notice. InvenSense reserves the right to make changes to this product, including its circuits and software, in order to improve its design and/or performance, without prior notice. InvenSense makes no warranties, neither expressed nor implied, regarding the information and specifications contained in this document. InvenSense assumes no responsibility for any claims or damages arising from information contained in this document, or from the use of products and services detailed therein. This includes, but is not limited to, claims or damages based on the infringement of patents, copyrights, mask work and/or other intellectual property rights.
Certain intellectual property owned by InvenSense and described in this document is patent protected. No license is granted by implication or otherwise under any patent or patent rights of InvenSense. This publication supersedes and replaces all information previously supplied. Trademarks that are registered trademarks are the property of their respective companies. InvenSense sensors should not be used or sold in the development, storage, production or utilization of any conventional or mass-destructive weapons or for any other weapons or life threatening applications, as well as in any other life critical applications such as medical equipment, transportation, aerospace and nuclear instruments, undersea equipment, power plant equipment, disaster prevention and crime prevention equipment.
©2018 InvenSense. All rights reserved. InvenSense, MotionTracking, MotionProcessing, MotionProcessor, MotionFusion, MotionApps, DMP, AAR, and the InvenSense logo are trademarks of InvenSense, Inc. The TDK logo is a trademark of TDK Corporation. Other company and product names may be trademarks of the respective companies with which they are associated.
©2018 InvenSense. All rights reserved.
Page 53 of 53
Document Number: DS-000114 Revision Date: 03/14/2018 Revision: 2.2
Updated at April 17, 2026
About Novapart
Novapart is a B2B electronic component broker specialising in stock shortages and cost reduction. We source hard-to-find parts and identify compliant alternatives across a catalogue of 410,000+ components from 500+ manufacturers.
Learn more →Stock Shortage Specialist
When a component is unavailable, discontinued or has an unacceptable lead time, we tap into our network of vetted European and Asian distributors to source what you need — without compromising on quality or traceability.
Request a quote →Compliant Alternatives
We identify pin-to-pin, electrically equivalent substitutes that meet the same certifications (RoHS, AEC-Q100, REACH) as your original specification — validated against datasheets, not just part numbers. Often at a lower cost.
BOM Analysis service →