MPU-6050 or ICM-20948?

Hi,

For a new project I’m wondering which IMU I should use.

The MPU-6050 or ICM-20948 seems to be a cost effective sollution to implement 9DOF but im not sure which one to choose.

What would be the pros and cons for the two compared to each other?

BTW, It will be used for a portible device in combination with an ESP-wroom02 or 32.

Any helpfull insight would be appreciated!

Hi Ivke,

For a full comparison, I would highly recommend taking a look through the datasheets for both sensors. Here are links to both: [MPU-6050 and [ICM-20948.

Both of these sensors have quite similar read ranges but the largest difference outside of form-factor and available example code is the ICM-20948 features an on-chip magnetometer along with the accelerometer and gyroscope. The MPU-6050 does not. Also, the available example code for the MPU-6050 looks like it has some minor issues with the ESP32 so you may need to do some extra work with the [example code to get it working with the ESP32. I believe the library for the ICM-20948 works with ESP32 but you may need to manually define your I2C pins where the bus is initialized. Finally, the last major difference is form-factor. The MPU-6050 has your standard pins broken out to solder headers or wire to for connecting to a microcontroller. The SparkFun ICM-20948 has both those standard header pins as well as the Qwiic connector for easy I2c connections.

Aside from this, again, I would recommend taking a look through each sensor’s respective datasheet for a full comparison.](i2cdevlib/Arduino/MPU6050 at master · jrowberg/i2cdevlib · GitHub)](https://cdn.sparkfun.com/assets/7/f/e/c/d/DS-000189-ICM-20948-v1.3.pdf)](http://43zrtwysvxb2gf29r5o0athu.wpengine.netdna-cdn.com/wp-content/uploads/2015/02/MPU-6000-Datasheet1.pdf)

Thanks Mark,

I’ll have a look but you gave me already some things to think about.