databit.me

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.

More pinouts