← All parts

ESP32 DevKitC (WROOM-32)

EspressifESP32-WROOM-32

Espressif's reference ESP32 dev board: an ESP32-WROOM-32 module on a 38-pin breadboard-friendly carrier with USB-serial and auto-reset. 3.3V logic; most GPIOs are multiplexed (ADC, touch, SPI, I2C, UART, PWM via any pin).

In stock

Specifications

0

No specs listed.

Pinout

38
PinNameFunctionsNotes
3V33V3
POWER
3.3V output
ENEN
GPIO
Chip enable / reset (active HIGH)
GPIO36GPIO36 (VP)
ADC
ADC1_CH0, input-only
GPIO39GPIO39 (VN)
ADC
ADC1_CH3, input-only
GPIO34GPIO34
ADC
ADC1_CH6, input-only
GPIO35GPIO35
ADC
ADC1_CH7, input-only
GPIO32GPIO32
ADCGPIO
ADC1_CH4, touch9
GPIO33GPIO33
ADCGPIO
ADC1_CH5, touch8
GPIO25GPIO25
ADCGPIO
DAC1, ADC2_CH8
GPIO26GPIO26
ADCGPIO
DAC2, ADC2_CH9
GPIO27GPIO27
ADCGPIO
ADC2_CH7, touch7
GPIO14GPIO14
SPIGPIO
HSPI CLK, ADC2_CH6, touch6
GPIO12GPIO12
SPIGPIO
HSPI MISO, ADC2_CH5; strapping (keep LOW at boot)
GNDGND
GND
Ground
GPIO13GPIO13
SPIGPIO
HSPI MOSI, ADC2_CH4, touch4
GPIO9GPIO9 (SD2)
GPIO
Connected to flash — do not use
GPIO10GPIO10 (SD3)
GPIO
Connected to flash — do not use
GPIO11GPIO11 (CMD)
GPIO
Connected to flash — do not use
5V5V
POWER
5V input/output (USB)
GNDGND
GND
Ground
GPIO23GPIO23
SPIGPIO
VSPI MOSI
GPIO22GPIO22
I2CGPIO
Default I2C SCL
GPIO1GPIO1 (TX0)
UART
UART0 TX (USB console)
GPIO3GPIO3 (RX0)
UART
UART0 RX (USB console)
GPIO21GPIO21
I2CGPIO
Default I2C SDA
GNDGND
GND
Ground
GPIO19GPIO19
SPIGPIO
VSPI MISO
GPIO18GPIO18
SPIGPIO
VSPI CLK
GPIO5GPIO5
SPIGPIO
VSPI CS; strapping (HIGH at boot)
GPIO17GPIO17 (TX2)
UART
UART2 TX
GPIO16GPIO16 (RX2)
UART
UART2 RX
GPIO4GPIO4
ADCGPIO
ADC2_CH0, touch0
GPIO0GPIO0
GPIO
BOOT button; strapping (LOW = download mode)
GPIO2GPIO2
GPIO
Onboard LED; strapping (LOW at boot)
GPIO15GPIO15
SPIGPIO
HSPI CS, ADC2_CH3, touch3; strapping
GPIO8GPIO8 (SD1)
GPIO
Connected to flash — do not use
GPIO7GPIO7 (SD0)
GPIO
Connected to flash — do not use
GPIO6GPIO6 (CLK)
GPIO
Connected to flash — do not use

Interactive pinout

Highlight:
ESP32-WROOM-32

Click a pin to copy its name · tap a tag above to spotlight a bus.

Logic level & voltage

The ESP32-WROOM-32 runs at 3.3 V logic and its GPIOs are NOT 5 V-tolerant. Power the board from 5 V over USB or the 5V/VIN pin; an onboard regulator supplies the 3.3 V rail.

Typical uses

  • Wi-Fi / Bluetooth IoT sensors and gateways
  • Home-automation and MQTT nodes
  • Battery-powered dataloggers using deep sleep
  • BLE beacons and remote controls

Wiring notes & gotchas

  • GPIO34-39 are input-only and have no internal pull-ups or output drivers.
  • Several strapping pins (GPIO0, 2, 12, 15) affect boot — avoid pulling them at reset.
  • Drive 5 V sensors/LEDs through a level shifter; feeding 5 V into a GPIO can damage the chip.

Commonly used with

5

Starter code

Community starter examples — minimal, unofficial, and provided to get you wiring fast. Verify against the manufacturer datasheet before relying on them.

Arduino (C++)

arduino
// ESP32 DevKitC - blink + analog read starter
#define LED 2          // onboard LED on most DevKitC boards (GPIO2)

void setup() {
  Serial.begin(115200);
  pinMode(LED, OUTPUT);
}

void loop() {
  digitalWrite(LED, HIGH);
  delay(500);
  digitalWrite(LED, LOW);
  delay(500);
  Serial.print("GPIO34="); Serial.println(analogRead(34));   // 0..4095
}

MicroPython

python
# ESP32 DevKitC - blink + ADC starter (MicroPython)
from machine import Pin, ADC
import time

led = Pin(2, Pin.OUT)          # onboard LED
adc = ADC(Pin(34))             # GPIO34 (input-only ADC pin)
adc.atten(ADC.ATTN_11DB)       # full ~0-3.3 V range

while True:
    led.value(1); time.sleep(0.5)
    led.value(0); time.sleep(0.5)
    print(adc.read())          # 0..4095

Wiring

PinArduino Uno R3ESP32 DevKitCNotes
LED +D13GPIO23Via 220-330 ohm resistor; any output GPIO works
LED -GNDGND
ButtonD2GPIO4Other side to GND; use Pin.PULL_UP

Related parts

6