FLASH SALE!   🛍️   Get a stonking 40% off Inventor 2040 W – an all-in-one board for making contraptions that can move, sense things, make noise, and talk to the internet!!

ICM20948 9DoF Motion Sensor Breakout

by Pimoroni

This ICM-20948 motion sensor is the bee's knees! Detect movement in nine different ranges of motion: 3-axis acceleration, 3-axis gyroscopic motion, and 3-axis compass heading.

Use this sensor in your DIY robot or drone builds to measure three different types of motion in three different axes accurately with 16-bit resolution. It's really low-power too, so it's ideal for embedding in battery-powered projects, and it's Raspberry Pi and Arduino-compatible.

It's compatible with our fancy Breakout Garden system, where using breakouts is easy as popping it into one of the slots and starting to grow your project, create, and code. It's also Qw/ST compatible* so it can be plugged into a whole range of different microcontrollers and HATs with Qwiic or STEMMA QT connectors.


  • ICM-20948 9DoF motion sensor (datasheet)
    • ±2/±4/±8/±16 g 3-axis accelerometer
    • ±250/±500/±1000/±2000 DPS (degrees per second) 3-axis gyroscope
    • 3-axis compass with wide range up to ±4900 μT
    • 16-bit data output
  • I2C interface (address 0x68/0x69 (cut trace))
  • 3.3V or 5V compatible
  • Reverse polarity protection
  • Qw/ST (Qwiic/STEMMA QT) connector (*on breakouts manufactured after October 2022)
  • Compatible with Raspberry Pi and Arduino
  • Python library
  • Dimensional diagram

Kit includes

  • ICM-20948 9DoF breakout
  • 1x5 male header
  • 1x5 female right-angle header

We've designed this breakout board so that you can solder on the piece of right angle female header and pop it straight onto the bottom left 5 pins on your Raspberry Pi's GPIO header (pins 1, 3, 5, 6, 9).


We've put together a Python library that you can use to read data from your ICM-20948 9DoF Breakout, and an easy one-line installer to install everything.


Dimensions: 19x19x2.75mm