Fix “Failed to find MPU6050 chip” / “MPU6050 connection failed”
The MPU6050 is not answering at 0x68/0x69, or answers with an unexpected ID. Check wiring, the AD0 pin and clone chips like the MPU6500.
Community draft — report a mistake
What you see
Adafruit MPU6050 test!
Failed to find MPU6050 chipAdafruit MPU6050 test! Failed to find MPU6050 chip
The MPU6050 is an I2C accelerometer/gyroscope. Libraries first read its WHO_AM_I register; if nothing answers, or the answer is unexpected, they report the chip as missing.
Quick fix — try in order
- 1
Scan the I2C bus
Expect 0x68 (AD0 low) or 0x69 (AD0 high). See I2C device not found.
- 2
Check SDA/SCL
ESP32: SDA = GPIO21, SCL = GPIO22. Uno/Nano: A4/A5.
- 3
Check the WHO_AM_I value
Clones often return 0x70 (MPU6500) or 0x98. The Adafruit library expects 0x68 and refuses others; a library that skips the ID check may work.
- 4
Check for an address clash
A DS3231 RTC also uses 0x68. Pull AD0 high to move the MPU6050 to 0x69.
Why it happens
Clone chips
Many cheap GY-521 boards carry an MPU6500 or similar. They mostly behave alike but report a different ID, so strict libraries say “not found”.
Power
GY-521 boards have a regulator and accept 3.3–5 V on VCC; bare modules need 3.3 V.
Loose breadboard contacts
Header pins on these boards are often not soldered — solder them.
Board-specific notes
Parts: MPU6050 · DS3231 RTC (also 0x68) — pinout, voltage and library notes.
Did this fix it?
Thanks — that helps us keep this page right.