The MPU6050 chip is a 3.3 V part, but the common GY-521 board has a regulator that accepts a higher VCC. Check your own board, then connect the I2C lines at the right logic level.
What the message means
The module pull-up resistors go to its supply. If you power it from 5 V, the I2C lines idle at the module level, which can be too high for a 3.3 V board.
Fix it in this order
- Power the module from 3.3 V when you use it with an ESP32. That keeps the I2C lines at 3.3 V.
- On a 5 V Arduino, a 5 V supply is common, but a level shifter is safer for the long term.
- Connect SDA and SCL to the correct pins and run an I2C scanner.
- Set AD0 to the level you want for address 0x68 or 0x69.
- See the MPU6050 pages for wake-up and drift.
Why it happens
The MPU6050 chip is a 3.3 V device. Many GY-521 breakout boards include a regulator and pull-up resistors on SDA and SCL, tied to the module’s supply. On some boards those pull-ups are tied to the 5 V supply rather than the regulated 3.3 V, and then they can raise the I2C lines above 3.3 V, which an ESP32 input cannot tolerate. The result is unreliable communication or damage, even when the wiring looks correct.
On a 5 V Arduino, the bus is designed around 5 V, so a 5 V supply usually works. The safer habit is to check the module’s regulator, pull-up supply, and logic level before wiring, and add a level shifter when the controller runs at 3.3 V and the module does not. An I2C scanner then confirms the device answers at 0x68 or 0x69.
If you see this, do this
| You see | Do this |
|---|---|
| Works on Uno, not on ESP32 | Check the supply and I2C levels. |
| All zeros | See the wake-up page. |
Confirm the fix
- Before connecting the controller, measure the voltage on the module’s VCC pin and on SDA with a multimeter.
- Run an I2C scanner and confirm an address of 0x68 or 0x69 appears; if it does not, check the SDA and SCL wiring.
- Confirm the pull-up supply on the board’s marking or datasheet matches the logic level your controller pin expects.
Common mistake: Assuming any breakout with a 5 V pin is safe on a 3.3 V board, when the I2C lines can rise above what the chip tolerates.
Related
MPU6050 zeros, gyro drift, ESP32 I2C pins.
Last reviewed: November 2026. These are the usual causes and the order that finds them fastest. Test on your own board; clones and cables differ.