Skip to main content

Board pinout

ESP32 DevKit V1 (DOIT, 30-pin) Pinout

Wi-Fi and Bluetooth, dual-core, and plenty of GPIO. The default choice for IoT, at 3.3V logic. It runs at 3.3V logic with 25 usable GPIO pins. Every value below is verified against the pin map Banana Board uses to check real designs.

MCU
ESP32
Logic
3.3V
GPIO
25
PWM
21
Analog
15
Ground pins
1

Interfaces

PWM pins21 pins
Analog inputs15 pins
DAC (true analog out)GPIO25, GPIO26

Watch out for

Input-only: GPIO36, GPIO39, GPIO34, GPIO35. These read signals but cannot drive an output and have no internal pull-up.

Strapping: GPIO12, GPIO5, GPIO2, GPIO15. These set the boot mode at reset, so pulling them the wrong way can stop the board from booting.

3.3V logic: pins are not 5V tolerant, so level-shift or divide any 5V signal into an input.

Pins by capability

A quick map of which pins do what. Colours match the pin table below.

Power
3V3VIN
Ground
GND
PWM
GPIO32GPIO33GPIO25GPIO26GPIO27GPIO14GPIO12GPIO13GPIO23GPIO22GPIO1GPIO3GPIO21GPIO19GPIO18GPIO5GPIO17GPIO16GPIO4GPIO2GPIO15
Analog / ADC
GPIO36GPIO39GPIO34GPIO35GPIO32GPIO33GPIO25GPIO26GPIO27GPIO14GPIO12GPIO13GPIO4GPIO2GPIO15
DAC
GPIO25GPIO26
Touch
GPIO32GPIO33GPIO27GPIO14GPIO12GPIO13GPIO4GPIO2GPIO15
Input-only
GPIO36GPIO39GPIO34GPIO35
Strapping
GPIO12GPIO5GPIO2GPIO15

Starter circuits to learn with

Beginner projects for the ESP32 DevKit V1 (DOIT, 30-pin). The pins below come straight from its real pin map, so they are safe to wire as shown.

Blink an LED

GPIO32

Drive an LED (through a ~220Ω resistor) from GPIO32 and toggle it in loop(). The classic first sketch.

digitalWrite()

Fade an LED (PWM)

GPIO32

Use GPIO32 with analogWrite() to smoothly ramp an LED from off to full brightness.

analogWrite()

Read a potentiometer

GPIO36

Wire a potentiometer's wiper to GPIO36 and read its position with analogRead().

analogRead()

Read a button

GPIO33

Connect a push button between GPIO33 and GND, set the pin to INPUT_PULLUP, and skip the external resistor.

digitalRead() + INPUT_PULLUP

Try it without the hardware

Describe one of these circuits in the Studio and Banana Board wires it to these exact ESP32 DevKit V1 (DOIT, 30-pin) pins, validates it, and lets you simulate before you build.

Build & simulate in the Studio

Full ESP32 DevKit V1 (DOIT, 30-pin) pin map

PinGPIOCapabilitiesVoltageNotes
ENRSTChip enable / reset (active-low). Not a usable I/O pin.
3V33.3VPower3.3VRegulated 3.3V output rail.
VIN5VPower5V5V supply input (USB rail).
GNDGND2GNDGround (2 physical GND pins on the header).
GPIO36D36 36 VPinput-only36Digital inADCADC1_CH0Input-only; no internal pull-up/down.
GPIO39D39 39 VNinput-only39Digital inADCADC1_CH3Input-only; no internal pull-up/down.
GPIO34D34 34input-only34Digital inADCADC1_CH6Input-only; no internal pull-up/down.
GPIO35D35 35input-only35Digital inADCADC1_CH7Input-only; no internal pull-up/down.
GPIO32D32 3232DigitalPWMI2CSPIADCTouchADC1_CH4Safe general-purpose pin.
GPIO33D33 3333DigitalPWMI2CSPIADCTouchADC1_CH5Safe general-purpose pin.
GPIO25D25 2525DigitalPWMI2CSPIADCDACADC2_CH88-bit DAC output (DAC1). ADC2 unusable with Wi-Fi.
GPIO26D26 2626DigitalPWMI2CSPIADCDACADC2_CH98-bit DAC output (DAC2). ADC2 unusable with Wi-Fi.
GPIO27D27 2727DigitalPWMI2CSPIADCTouchADC2_CH7Safe pin. ADC2 unusable with Wi-Fi.
GPIO14D14 1414DigitalPWMI2CSPIADCTouchADC2_CH6HSPI CLK; outputs PWM at boot. ADC2 unusable with Wi-Fi.
GPIO12D12 12strapping12DigitalPWMI2CSPIADCTouchADC2_CH5Strapping (MTDI): boot FAILS if pulled HIGH. HSPI MISO.
GPIO13D13 1313DigitalPWMI2CSPIADCTouchADC2_CH4HSPI MOSI. ADC2 unusable with Wi-Fi.
GPIO23D23 2323mosiDigitalPWMI2CDefault VSPI MOSI.
GPIO22D22 22 SCL22sclDigitalPWMSPIDefault I2C SCL.
GPIO1D1 1 TX01U0TXDDigitalPWMI2CSPIUART0 TX — USB serial/upload; avoid repurposing.
GPIO3D3 3 RX03U0RXDDigitalPWMI2CSPIUART0 RX — USB serial/upload; avoid repurposing.
GPIO21D21 21 SDA21sdaDigitalPWMSPIDefault I2C SDA.
GPIO19D19 1919misoDigitalPWMI2CDefault VSPI MISO.
GPIO18D18 1818sckDigitalPWMI2CDefault VSPI SCK.
GPIO5D5 5strapping5csDigitalPWMI2CDefault VSPI CS; strapping (outputs PWM at boot). No ADC/touch.
GPIO17D17 17 TX217U2TXDDigitalPWMI2CSPIUART2 TX.
GPIO16D16 16 RX216U2RXDDigitalPWMI2CSPIUART2 RX.
GPIO4D4 44DigitalPWMI2CSPIADCTouchADC2_CH0Safe pin. ADC2 unusable with Wi-Fi.
GPIO2D2 2strapping2DigitalPWMI2CSPIADCTouchADC2_CH2Onboard LED; strapping (float/LOW to flash). ADC2 unusable with Wi-Fi.
GPIO15D15 15strapping15DigitalPWMI2CSPIADCTouchADC2_CH3HSPI CS; strapping (outputs debug at boot); has internal pull-up.

29 of 29 pins shown. Data verified against the board pin map Banana Board uses to check every design.

AI PCB designer

Design an ESP32 DevKit V1 (DOIT, 30-pin) PCB from a sentence

Describe your ESP32 DevKit V1 (DOIT, 30-pin) project and Banana Board wires it to these exact pins, validates it, then places and routes a fab-ready 2-layer board.

Start vibe PCB designing

Frequently asked questions

Is the ESP32 DevKit V1 (DOIT, 30-pin) 3.3V or 5V logic?

The ESP32 DevKit V1 (DOIT, 30-pin) runs at 3.3V logic. Its GPIO pins are not 5V tolerant, so use a level shifter or divider when connecting 5V signals to an input.

How many GPIO pins does the ESP32 DevKit V1 (DOIT, 30-pin) have?

The ESP32 DevKit V1 (DOIT, 30-pin) exposes 25 usable GPIO pins, plus 2 power and 1 ground pins.

Which pins are PWM-capable on the ESP32 DevKit V1 (DOIT, 30-pin)?

Most GPIO pins on the ESP32 DevKit V1 (DOIT, 30-pin) can output PWM (21 pins in total).

How many analog (ADC) inputs does the ESP32 DevKit V1 (DOIT, 30-pin) have?

The ESP32 DevKit V1 (DOIT, 30-pin) has 15 ADC-capable pins: 15 pins (GPIO36, GPIO39, GPIO34, GPIO35, GPIO32, GPIO33, GPIO25, GPIO26, GPIO27, GPIO14, GPIO12, GPIO13, GPIO4, GPIO2, and more).

Which pins on the ESP32 DevKit V1 (DOIT, 30-pin) are input-only?

GPIO36, GPIO39, GPIO34, GPIO35 are input-only. They can read digital or analog signals but cannot drive an output and have no internal pull-up or pull-down.

Which pins on the ESP32 DevKit V1 (DOIT, 30-pin) are strapping pins to avoid?

GPIO12, GPIO5, GPIO2, GPIO15 are strapping pins that set the boot mode at reset. Using them for peripherals can stop the board from booting, so prefer other GPIOs or make sure your circuit does not pull them the wrong way at power-up.

Does the ESP32 DevKit V1 (DOIT, 30-pin) have a true analog output (DAC)?

Yes. GPIO25, GPIO26 provide a real digital-to-analog output, unlike PWM pins which only approximate an analog voltage.

Build it, do not just look it up

Describe your circuit in one sentence and Banana Board wires it to these exact pins, validates it, and lays out a fab-ready PCB.

Start building free