ICM-42670-P 6-Axis IMU
TDK InvenSense
The ICM-42670-P is a compact 6-axis inertial measurement unit from TDK InvenSense combining a 3-axis accelerometer and 3-axis gyroscope with I²C, I3C and SPI interfaces, low-power operation, FIFO storage and APEX motion-processing features.
Specifications
| Sensor Type | 6-axis inertial measurement unit |
|---|---|
| Accelerometer | 3-axis, ±2g / ±4g / ±8g / ±16g |
| Gyroscope | 3-axis, ±250 / ±500 / ±1000 / ±2000 dps |
| Interfaces | I²C, I3C, SPI |
| I²C Speed | Up to 1 MHz |
| I3C Speed | Up to 12.5 MHz |
| SPI Speed | Up to 24 MHz |
| FIFO | 2.25 KB |
| Supply Voltage | 1.71 V to 3.6 V |
| Low-Noise 6-Axis Current | 0.55 mA |
| Sleep Current | 3.5 µA |
| Operating Temperature | -40°C to +85°C |
| Package | 14-pin LGA, 2.5 × 3.0 × 0.76 mm |
Some links on this page are affiliate links. If you purchase through them, Embedded Nerd may earn a small commission at no additional cost to you. This helps support the website and allows us to continue creating free tutorials and guides. Thank you for your support!
Resources
The ICM-42670-P is a compact, ultra-low-power 6-axis IMU from TDK InvenSense that combines a 3-axis accelerometer and 3-axis gyroscope in a small 2.5 × 3.0 mm package.
It is a strong choice for modern embedded designs that need motion sensing with low power consumption, digital interfaces and integrated motion-processing features. It is also one of the most relevant modern alternatives to the legacy MPU6050.
If you are replacing an MPU6050 in a new design, see our MPU6050 discontinued and alternatives guide for a comparison of current options.
Key Features
- 3-axis accelerometer
- 3-axis gyroscope
- Accelerometer ranges of ±2g, ±4g, ±8g and ±16g
- Gyroscope ranges of ±250, ±500, ±1000 and ±2000 dps
- I²C, I3C and SPI digital interfaces
- Up to 1 MHz I²C
- Up to 12.5 MHz I3C
- Up to 24 MHz SPI
- 2.25 KB FIFO
- APEX motion-processing features
- Ultra-low-power operation
- 1.71 V to 3.6 V supply range
- -40°C to +85°C operating temperature
- 2.5 × 3.0 × 0.76 mm 14-pin LGA package
Applications
The ICM-42670-P is designed for applications where low power, compact size and motion detection are important.
Typical applications include:
- Wearables
- IoT devices
- Motion detection
- Gesture detection
- Robotics
- Portable electronics
- Activity tracking
- Orientation and tilt detection
- Battery-powered embedded systems
Accelerometer and Gyroscope
The ICM-42670-P provides six motion-sensing axes in one device.
Accelerometer
The 3-axis accelerometer supports four selectable full-scale ranges:
| Range | Maximum acceleration |
|---|---|
| ±2g | 2g |
| ±4g | 4g |
| ±8g | 8g |
| ±16g | 16g |
The lower ranges are useful when higher sensitivity is more important, while higher ranges provide more headroom for faster motion.
Gyroscope
The 3-axis gyroscope supports:
| Range | Maximum angular rate |
|---|---|
| ±250 dps | 250 degrees/s |
| ±500 dps | 500 degrees/s |
| ±1000 dps | 1000 degrees/s |
| ±2000 dps | 2000 degrees/s |
This makes the device suitable for everything from relatively slow orientation tracking to faster rotational motion.
Digital Interfaces
The ICM-42670-P supports I²C, I3C and SPI.
| Interface | Maximum speed |
|---|---|
| I²C | 1 MHz |
| I3C | 12.5 MHz |
| SPI | 24 MHz |
For typical Arduino and ESP32 projects, I²C is often the simplest option. When using I²C, the bus pull-up resistors should be selected according to the bus voltage, speed and capacitance. Our I²C Pull-up Resistor Calculator can help determine suitable values.
SPI can be useful when higher interface performance is required, while I3C provides a more modern high-speed sensor interface.
FIFO
The ICM-42670-P includes a 2.25 KB FIFO buffer.
The FIFO allows sensor data to be collected internally before being read by the host processor. This can reduce processor activity and improve efficiency in applications that sample motion data continuously.
This is particularly useful in low-power systems where the microcontroller should not need to service every individual sensor sample immediately.
APEX Motion Features
The ICM-42670-P includes TDK InvenSense APEX motion-processing features.
Depending on configuration, these functions can support:
- Pedometer
- Tilt detection
- Wake-on-motion
- Significant motion detection
- Free-fall detection
- Low-g detection
These features can allow some motion events to be detected without continuously processing raw sensor data on the main microcontroller.
Power Consumption
Low power consumption is one of the main advantages of the ICM-42670-P.
TDK specifies approximately 0.55 mA for low-noise 6-axis operation and approximately 3.5 µA in sleep mode. The accelerometer also supports very low-power operation for applications that do not require continuous high-performance sensing.
This makes the ICM-42670-P particularly attractive for battery-powered devices.
Supply Voltage
The ICM-42670-P operates from a supply range of:
1.71 V to 3.6 V
The supply and I/O requirements should be checked carefully when connecting the sensor to a development board.
For ESP32 projects, a 3.3 V logic environment is a natural match. The ESP32 DevKit V1 is a convenient development platform for experimenting with the device.
Package and Size
The ICM-42670-P uses a compact 14-pin LGA package measuring:
2.5 × 3.0 × 0.76 mm
Its small footprint is well suited to compact embedded products and wearable electronics.
ICM-42670-P vs MPU6050
The ICM-42670-P is a modern alternative to the widely used MPU6050.
| Feature | ICM-42670-P | MPU6050 |
|---|---|---|
| Axes | 6-axis | 6-axis |
| Accelerometer | ±2/4/8/16g | ±2/4/8/16g |
| Gyroscope | ±250/500/1000/2000 dps | ±250/500/1000/2000 dps |
| Interfaces | I²C / I3C / SPI | I²C / SPI |
| FIFO | 2.25 KB | 1 KB |
| Supply | 1.71–3.6 V | 2.375–3.46 V |
| Operating temperature | -40°C to +85°C | -40°C to +85°C |
| Package | 2.5 × 3.0 × 0.76 mm | 4 × 4 × 0.9 mm |
The ICM-42670-P is not a drop-in replacement for the MPU6050. Hardware connections, registers, libraries and software configuration are different.
For more detail on the transition from the MPU6050, see the MPU6050 discontinued and alternatives guide.
ICM-42670-P vs ICM-42688-P
Both devices are modern 6-axis TDK InvenSense IMUs, but they target somewhat different priorities.
The ICM-42688-P is the higher-precision option, with substantially lower sensor noise and additional high-resolution data features.
The ICM-42670-P is especially attractive when low power, compact size and cost are more important than maximum measurement precision.
Using the ICM-42670-P with ESP32
The ICM-42670-P is well suited to ESP32-based projects.
A typical setup uses:
- ESP32 development board
- ICM-42670-P breakout board
- 3.3 V supply
- I²C or SPI connections
When using I²C, connect SDA and SCL to the selected ESP32 I²C pins and ensure the bus has appropriate pull-up resistors.
The ESP32 DevKit V1 is a practical starting point for development and prototyping.
Calibration
Like other inertial sensors, the ICM-42670-P can exhibit sensor bias and measurement errors. Calibration requirements depend on the application and the level of accuracy required.
For basic projects, it is useful to measure stationary sensor offsets before processing motion data.
The principles are similar to those used with the MPU6050. Our MPU6050 Calibration Guide explains the concepts of accelerometer and gyroscope offsets, stationary sampling and verification.
For higher-accuracy applications, calibration may also need to account for scale factor, axis alignment and temperature effects.
Technical Specifications
| Specification | ICM-42670-P |
|---|---|
| Sensor type | 6-axis IMU |
| Accelerometer | 3-axis |
| Accelerometer range | ±2 / ±4 / ±8 / ±16g |
| Gyroscope | 3-axis |
| Gyroscope range | ±250 / ±500 / ±1000 / ±2000 dps |
| Interfaces | I²C / I3C / SPI |
| I²C speed | Up to 1 MHz |
| I3C speed | Up to 12.5 MHz |
| SPI speed | Up to 24 MHz |
| FIFO | 2.25 KB |
| Supply voltage | 1.71–3.6 V |
| Low-noise 6-axis current | 0.55 mA |
| Sleep current | 3.5 µA |
| Operating temperature | -40°C to +85°C |
| Package | 14-pin LGA |
| Package size | 2.5 × 3.0 × 0.76 mm |
Frequently Asked Questions
Is the ICM-42670-P a replacement for the MPU6050?
It is a modern alternative, but it is not a drop-in replacement. The package, pinout, register map and software interface are different.
Is the ICM-42670-P better than the MPU6050?
For many new designs, it offers significant advantages including lower power consumption, a smaller package, I3C support, newer motion-processing features and a wider supply range. The best choice still depends on the application.
Does the ICM-42670-P support I²C?
Yes. It supports I²C, I3C and SPI.
Can the ICM-42670-P be used with an ESP32?
Yes. An ESP32 can communicate with the ICM-42670-P using I²C or SPI, provided the electrical requirements are respected.
What is the difference between ICM-42670-P and ICM-42688-P?
The ICM-42688-P is the higher-precision device, while the ICM-42670-P emphasizes low power and compact embedded applications.
Does the ICM-42670-P need calibration?
Calibration depends on the application. Offset calibration can improve results when accurate motion measurements are required, while more demanding applications may require a more complete calibration procedure.
Conclusion
The ICM-42670-P is a modern, compact and low-power 6-axis IMU that combines an accelerometer and gyroscope with I²C, I3C and SPI interfaces.
Its low current consumption, FIFO, APEX motion features and small package make it a strong choice for wearables, IoT devices, robotics and other embedded motion applications.
For projects moving away from the MPU6050, it is one of the most practical modern options to consider.