Interactive pinout
ESP32 DevKit V1 (30-pin) pinout
The classic 30-pin ESP32 DevKit. Left and right columns are shown top-to-bottom with the USB port at the bottom. GPIO numbers are what you use in code.
- GPIO
- Power
- Ground / N.C.
- Reset
- Has a warning
Selected pin
D12GPIO12
Boot-critical — avoid
GPIOADCPWMSPITouch
HSPI MISO. Strapping pin (MTDI).
- adc
- ADC2_CH5
- touch
- T5
- spi
- HSPI MISO
Boot-critical: Strapping pin: if it is HIGH at reset the flash voltage is set to 1.8 V and most boards will not boot. Don't pull it up.
Code for this pin
const int PIN = 12;
void setup() {
pinMode(PIN, OUTPUT);
}
void loop() {
digitalWrite(PIN, HIGH);
delay(500);
digitalWrite(PIN, LOW);
delay(500);
}Ad space · inline
Good to know
- ›GPIO6–GPIO11 connect to the on-board flash chip and are not exposed on this board. Never use them.
- ›GPIO0 (BOOT button) is a strapping pin that is not exposed on most 30-pin boards: low at reset = download mode.
- ›I2C, SPI and UART can be remapped to almost any GPIO on the ESP32 — the labels show the default pins.
- ›ADC2 channels are unusable while Wi-Fi is on. Prefer ADC1 pins (32–39) for analog sensors.
Where to buy
Affiliate links: databit.me may earn a small commission at no extra cost to you. Details.