ESP32 will not boot with something attached: strapping pins explained

On the classic ESP32, GPIO 0, 2, 5, 12 and 15 are read at reset to choose the boot mode and settings. Things wired to them can stop it booting.

What the message means

The chip samples these pins in the moment of reset. A module that pulls one to the wrong level changes the boot mode or the flash voltage.

Fix it in this order

  1. Avoid these pins for sensors and modules, or make sure the module does not pull them in the wrong direction at start.
  2. GPIO 0 low at reset enters download mode. Do not hold it low in normal use.
  3. GPIO 12 high at reset can set the wrong flash voltage on some modules. See the GPIO 12 page.
  4. Disconnect the attached module and see if the board boots. Then connect it again after boot.
  5. Check the datasheet for your exact chip, since other ESP32 models have different strapping pins.

If you see this, do this

You seeDo this
Boots with the module unplugged onlyStrapping pin conflict.
Stuck in download modeGPIO 0 held low.

GPIO 12 boot fail, wrong boot mode, ESP32 pinout.

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.