Introduction
The SparkFun 9DoF IMU Breakout incorporates the Invensense ICM-20948, a low-power, I2C and SPI enabled 9-axis motion tracking device. This breakout board is designed for applications requiring precise motion sensing, such as smartphones, tablets, wearable sensors, and IoT devices. It features a Qwiic-enabled interface for easy connection and also provides broken-out 0.1-inch spaced GPIO pins for breadboard compatibility.
Setup
Components
- SparkFun 9DoF IMU Breakout - ICM-20948
- Compatible Microcontroller (e.g., Arduino, Raspberry Pi)
- Qwiic Cable (for Qwiic connection) or Jumper Wires (for GPIO)
- Power Supply (1.95V to 3.6V)
Connecting the IMU
The SparkFun 9DoF IMU Breakout can be connected using the Qwiic system or traditional GPIO pins. The Qwiic system simplifies connections by using a common 1mm pitch, 4-pin JST connector, eliminating the need for soldering and ensuring polarized connections.

The IMU breakout board connected to a larger development board using a Qwiic cable, demonstrating a typical setup.
For a visual guide on connecting Qwiic cables, refer to the following video:
A video demonstrating the connection process for an I2C Qwiic cable kit, which can be used to interface with the SparkFun 9DoF IMU Breakout board.
Communication Interfaces (I2C and SPI)
The ICM-20948 supports both I2C and SPI communication protocols. The I2C address is 0x69 by default and can be jumper-selected to 0x68. All pin functionalities are broken out to GPIO for flexible integration.

A visual guide highlighting the I2C communication pins on the SparkFun 9DoF IMU Breakout board for easy identification.

A visual guide highlighting the SPI communication pins on the reverse side of the SparkFun 9DoF IMU Breakout board.
Operation
Motion Tracking Features
The ICM-20948 integrates a 3-axis gyroscope, a 3-axis accelerometer, and a 3-axis magnetometer. Both the gyroscope and accelerometer offer four selectable full-scale ranges, while the magnetometer has a full-scale range of ±4900µT.
- 3-Axis Gyroscope: Measures angular velocity along X, Y, and Z axes.
- 3-Axis Accelerometer: Measures linear acceleration along X, Y, and Z axes.
- 3-Axis Magnetometer: Measures magnetic field strength along X, Y, and Z axes, enabling compass functionality.
Digital Motion Processor (DMP)
The ICM-20948 includes a Digital Motion Processor (DMP) that offloads the computation of complex motion sensing algorithms from the host microcontroller. This allows for optimal performance of the sensors and reduces the processing load on the main system.
For a detailed overview of the product and its capabilities, watch the official SparkFun video:
An official video from SparkFun Electronics Inc. providing an overview and detailed features of the 9DoF IMU Breakout - ICM-20948.
See an IMU in action with various applications:
Demonstration of an IMU in action, showcasing its capabilities in motion tracking and orientation sensing, including roll and pitch visualization.
Maintenance
To ensure the longevity and optimal performance of your SparkFun 9DoF IMU Breakout, follow these general maintenance guidelines:
- Handle with Care: Avoid dropping or subjecting the board to excessive physical shock.
- Keep Dry: Protect the board from moisture and humidity, which can damage electronic components.
- Prevent Static Discharge: Always use proper anti-static precautions when handling the board to prevent damage from electrostatic discharge (ESD).
- Clean Gently: If cleaning is necessary, use a soft, dry brush or compressed air to remove dust. Avoid liquid cleaners.
- Proper Storage: Store the board in an anti-static bag in a cool, dry environment when not in use.
Troubleshooting
Here are some common issues and potential solutions when working with the ICM-20948 IMU Breakout:
- I2C Address Conflicts: The I2C address of the ICM-20948 is 0x69 and is jumper selectable to 0x68. If you need to use more than one ICM-20948 sensor on a single bus, a multiplexer (Mux) is required. Consider using a Qwiic Mux Breakout for such scenarios.
- Magnetometer Access with SPI: If you are using SPI for communication, you may not be able to directly access the magnetometer. Magnetometer data is typically accessed via the auxiliary I2C interface. The ICM-20948 cannot operate in both SPI and I2C modes simultaneously for all functions.
- I2C Compatibility Issues: The core ICM-20948 chip operates at 1.8V logic. While the breakout board includes level shifters for 3.3V signals, these may not always be fully compatible with other I2C devices on the same bus. This device might function best as a singular or standalone unit on an I2C bus to avoid interference with other components.
Specifications
| Feature | Specification |
|---|---|
| Supply Voltage | 1.95 V to 3.6 V |
| Gyroscope Full-Scale Range | ±250 dps to ±2000 dps (selectable) |
| Accelerometer Full-Scale Range | ±2g to ±16g (selectable) |
| Magnetometer Full-Scale Range | ±4900µT |
| Communication Interfaces | I2C (up to 400 kHz), SPI (up to 7 MHz) |
| I2C Address | 0x69 (0x68 with Jumper) |
| Logic Voltage | 1.7V-1.9V (internal chip), level-shifted on breakout |
| Digital Motion Processor (DMP) | Integrated |
| Dimensions | 3 x 2 x 1 inches (Product Dimensions) |
| Weight | 0.704 ounces |

A technical drawing of the SparkFun 9DoF IMU Breakout board, showing its precise dimensions in inches.
Warranty Information
Specific warranty details for the SparkFun 9DoF IMU Breakout - ICM-20948 are not provided in the available product data. For information regarding warranty coverage, terms, and conditions, please refer to the official SparkFun website or contact their customer support directly.
Support
For additional support, technical documentation, tutorials, and community forums, please visit the official SparkFun Electronics website. You can also find further information and resources on their Amazon store page: