Preview build — page text is a draft awaiting human review. Code badges come from real compiles. The flasher is real but not yet hardware-tested; the Playground is still a preview.
Sensor · MPU6050

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.

ESP32Arduino UnoArduino NanoUpdated 31 Oct 2026

Community draft — report a mistake

What you see

OutputOutput
Adafruit 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. 1

    Scan the I2C bus

    Expect 0x68 (AD0 low) or 0x69 (AD0 high). See I2C device not found.

  2. 2

    Check SDA/SCL

    ESP32: SDA = GPIO21, SCL = GPIO22. Uno/Nano: A4/A5.

  3. 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. 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.

↑↓ to move · Enter to open