ESP32 DevKit V1 Pinout
DOIT ESP32 DevKit V1, the 30-pin board, top view with the USB socket at the bottom. Check your board against its silkscreen before wiring power.
The pins that bite
GPIO 34, 35, 36 and 39 are input only: no output, no pull-ups, no exceptions. GPIO 0, 2, 12 and 15 are strapping pins the chip samples at boot, so a load on them can stop the board from starting or flashing. GPIO 6 to 11 are wired to the onboard flash and never reach the headers.
Power and logic levels
VIN accepts 5 V and feeds the onboard regulator; 3V3 is that regulator's output, good for a few hundred milliamps. Every GPIO is 3.3 V logic and is not 5 V tolerant.
Buses
I2C defaults to GPIO21 (SDA) and GPIO22 (SCL). Hardware VSPI uses 18, 19, 23 with 5 as chip select. UART2 sits on 16 and 17, free for a GPS or serial display while USB keeps UART0.
Which board is this
The 30-pin DOIT DevKit V1 is the clone most people buy. Espressif's own ESP32-DevKitC V4 is a different 38-pin board with more pins broken out and no onboard LED, so check your header count before wiring.
Sources and datasheets
This diagram was cross-checked against the manufacturer documentation below plus at least two independent references before publishing. When they disagreed, the manufacturer won.
More boards and plugs live on the pinouts index.