ESP32 Pinout
ESP32-WROOM-32 · ESP32-WROOM-32 module / DevKitC
The ESP32 has far more I/O than the ESP8266, but several pins are input-only, several are tied to the internal flash, and a few decide boot mode.
| Pin | Name | Function |
|---|---|---|
| GPIO0 | Boot | LOW at reset enters download mode |
| GPIO2 | Boot | Must be floating or LOW at boot |
| GPIO12 | MTDI | Boot-strap: HIGH at boot sets 1.8 V flash and can brick boot |
| GPIO34 | Input only | No output driver, no internal pull-up |
| GPIO35 | Input only | No output driver, no internal pull-up |
| GPIO36 | SVP, input only | ADC1 |
| GPIO39 | SVN, input only | ADC1 |
| GPIO21 | SDA | Default I²C data |
| GPIO22 | SCL | Default I²C clock |
| GPIO6–11 | Flash | Connected to internal SPI flash — never use |
Things that catch people out
- GPIO6 through GPIO11 are the flash interface. Using them stops the chip booting.
- ADC2 cannot be read while Wi-Fi is active — use ADC1 pins for anything sampled during a connection.
Need this part on a board? PCBEditor generates the schematic and PCB from a prompt.
Open the editor →