ICM-20948 9-DoF IMU
9-axis motion sensor combining accelerometer, gyroscope, and magnetometer. Provides orientation, movement, and heading data.
Say it to PAL
“Tell me when it gets shaken.”
The code PAL writes
let ax=0, ay=0, az=0;
function checkShake() {
const mag = Math.sqrt(ax*ax + ay*ay + az*az);
if (mag > 2) p.notify('Shake detected!');
}
p.onSensorChange('qwiic-icm20948', 'accel_x', (v) => { ax=v; checkShake(); });
p.onSensorChange('qwiic-icm20948', 'accel_y', (v) => { ay=v; checkShake(); });
p.onSensorChange('qwiic-icm20948', 'accel_z', (v) => { az=v; checkShake(); });
await p.waitUntilStopped();When to pick it
9-axis IMU (accelerometer + gyroscope + magnetometer). Detects tilt, shake, rotation, and compass heading.
Good to know
- Magnetometer needs calibration (figure-8 motion) for accurate compass readings.
About it
A 9-DoF inertial measurement unit (IMU) combining 3-axis accelerometer (±16g), 3-axis gyroscope (±2000°/s), and 3-axis magnetometer. Suitable for motion tracking, orientation sensing, step counting, and navigation applications. The magnetometer provides compass heading when calibrated.
Facts
Tested
Its driver works. We have not signed it off on a real board yet.
I2C address
The ICM-20948 9-DoF IMU answers at I2C address 0x68. A jumper or pin moves it to 0x69.
Current
3 mA
The catalog lists a typical draw of 3 mA for the ICM-20948, copied from the maker’s description and not measured by Palpable.
Board size
25.4 × 17.78 mm
The ICM-20948 board measures 25.4 × 17.78 mm and stands 4.6 mm tall with its parts. It has 4 mounting holes. These dimensions are from the maker’s mechanical drawing.
Free to reuse
Every fact here is open data under CC BY 4.0. Copy it into your own docs or code, and credit Palpable. Download it
This record was last changed on October 1, 2026.