Esp32pin.com: a pinout reference for ESP32 series

sohkamyung1 pts0 comments

ESP32 Pinout Studio | Interactive pinout reference for every ESP32 and ESP8266 module

ESP32 Pinout Studio

Free interactive pinout reference for the whole ESP32 family. Every pin carries its real-world constraints - strapping pins, ADC2/Wi-Fi conflicts, flash-reserved GPIOs, input-only pins, and USB/JTAG lines - so you don't pick a pin that stops your project from booting. Pin names, physical pad layouts, and schematic symbols are generated from Espressif's official KiCad libraries.

Pick a module

ESP32-WROOM-32 pinout

ESP32-WROVER-E pinout

ESP32-S2 pinout

ESP32-S3-WROOM-1 pinout

Waveshare ESP32-S3-Zero pinout

Waveshare ESP32-S3-Touch-LCD-2 pinout

ESP32-C3 pinout

ESP32-C6 pinout

ESP32-C5 pinout

ESP32-H2 pinout

ESP32-DevKitC pinout

ESP32-S3-DevKitC-1 pinout

ESP8266 (ESP-12F) pinout

NodeMCU v1.0 pinout

LOLIN D1 Mini pinout

Common ESP32 pin questions

Why doesn't ADC2 work when Wi-Fi is on?

On the classic ESP32, ADC2 is used by the Wi-Fi driver, so any analogRead() on an ADC2 pin (GPIO0, 2, 4, 12-15, 25-27) returns an error while Wi-Fi is active. Use an ADC1 pin (GPIO32-39) for analog readings when Wi-Fi is on. The ESP32-S3, C3, C5, C6 and H2 do not have this conflict.

Can I use GPIO12 on the ESP32?

GPIO12 (MTDI) is a strapping pin. It is sampled at boot to select flash voltage and must be LOW at boot for 3.3 V flash. If something drives it HIGH during reset, the chip can fail to access flash and won't start. It is usable as a normal GPIO after boot - just never hold it HIGH at reset.

Which ESP32 pins are safe to use?

Avoid GPIO6-11 (wired to internal SPI flash - using them crashes the chip), treat GPIO0, 2, 12 and 15 as strapping pins, and remember GPIO34, 35, 36 and 39 are input-only. The generally safe output pins are GPIO4, 5, 13, 14, 16-19, 21-23, 25-27, 32 and 33.

esp32 pinout pins flash adc2 reference

Related Articles