Skip to content
On this page

ESP32-DevKitC

Type: board · Vendor: espressif · Chip: ESP32

Official Espressif ESP32 evaluation board. V4 (current) assembles ESP32-WROOM-32E/32UE or ESP32-WROVER-E/IE modules on dual 19-pin headers (J2/J3), with a single micro-USB port through a USB-to-UART bridge, EN/Boot buttons and a 5 V power-on LED. There is no user-programmable onboard RGB LED on this board.

The ESP32-DevKitC is Espressif’s classic ESP32 evaluation board. The current V4 assembles an ESP32-WROOM-32E, -32UE, -WROVER-E or -WROVER-IE module on dual 19-pin headers (J2/J3), with a single micro-USB port through a USB-to-UART bridge (up to 3 Mbps), EN/Boot buttons and a 5 V power-on LED. This page renders the MCUID data record: revisions, ordering variants, the complete header mapping and every published field tied to a fixed official source.

Start developing

  • Bring-up — the first-flash guide covers ports, cables and the first blink step by step.
  • Chip capabilities and limits — the ESP32 chip page separates what the chip provides from what this board wires up.

Common questions this site answers

Also known as: esp32-devkitc, esp32-devkitc-v4, esp32 devkitc.

No user-programmable onboard LED

Unlike the ESP32-S3-DevKitC-1 with its addressable RGB LED, the DevKitC V4 component list contains no user LED of any kind — only the 5 V power-on LED, which is not programmable. If you need a blink LED, wire one to a spare GPIO. There is also only one USB port (the UART bridge); the classic ESP32 has no native-USB connector on this board.

Pins to avoid

Two separate restrictions apply, both from the official header-block footnotes:

  • GPIO6-11 (D0, D1, D2, D3, CMD, CLK) — used internally for communication between the ESP32 and the SPI flash on every variant. Using them can disrupt flash/SPI RAM access. They render purple in the pinout above.
  • GPIO16/17 (J3 contacts 11/12) — usable only on boards assembled with ESP32-WROOM (or ESP32-SOLO-1) modules. On boards with ESP32-WROVER modules the pins are reserved for internal use: the WROVER’s PSRAM wiring occupies them. Check your board’s ordering variant before using them.

Boot mode and power

Hold BOOT, then press EN, to enter Firmware Download mode. Power comes from exactly one of three mutually exclusive paths — micro-USB (default), 5V+GND pins, or 3V3+GND pins; the official guide warns that back-powering through two paths at once can damage the board and/or the supply.

Note on C15 (early V4 boards)

On earlier V4 boards, component C15 can cause spurious boots into Download mode and clock disturbance on GPIO0. Espressif’s documented remedy is to remove the component — see the V4 revision summary above for the fixed source.

Ordering variants at a glance

The V4 ordering variants in official notation: ESP32-DevKitC-32E and ESP32-DevKitC-32UE (WROOM-32E/-32UE, 4 MB flash, no PSRAM), ESP32-DevKitC-VE (WROVER-E, 8 MB flash + 8 MB PSRAM) and ESP32-DevKitC-VIE (WROVER-IE, 8 MB + 8 MB, external antenna connector). The variant decides whether GPIO16/17 are usable — see Pins to avoid above. The full variant table sits under ordering variants.

ESP32-S3 sibling

Looking for the S3 generation instead? See ESP32-S3-DevKitC-1 — it has a native USB OTG port in addition to the UART bridge, and a revision-dependent RGB LED (GPIO48 on v1.0, GPIO38 on v1.1).

2D pinout

No revision selected — pick a revision above to read its documented summary. Revision-independent facts (including the onboard LED GPIO, where published) are stated in the published-fields table regardless of selection.

Older board generation assembled with ESP32-WROOM-32 modules; the official guide marks it superseded and links the V4 guide. · DevKitC V2 guide

Current board with ESP32-WROOM-32E (ordering variants also 32UE, WROVER-E, WROVER-IE). Note on C15: earlier V4 boards may boot into Download mode or show GPIO0 clock disturbance due to component C15; Espressif's documented remedy is to remove the component. · DevKitC V4 guide

ESP32-DevKitCJ2 contact 1: 3V3 (P) — 3.3 V power supply3V3J2 contact 2: EN (I) — CHIP_PU, ResetENJ2 contact 3: VP (I) — GPIO36, ADC1_CH0, S_VPVPJ2 contact 4: VN (I) — GPIO39, ADC1_CH3, S_VNVNJ2 contact 5: IO34 (I) — GPIO34, ADC1_CH6, VDET_1IO34J2 contact 6: IO35 (I) — GPIO35, ADC1_CH7, VDET_2IO35J2 contact 7: IO32 (I/O) — GPIO32, ADC1_CH4, TOUCH_CH9, XTAL_32K_PIO32J2 contact 8: IO33 (I/O) — GPIO33, ADC1_CH5, TOUCH_CH8, XTAL_32K_NIO33J2 contact 9: IO25 (I/O) — GPIO25, ADC2_CH8, DAC_1IO25J2 contact 10: IO26 (I/O) — GPIO26, ADC2_CH9, DAC_2IO26J2 contact 11: IO27 (I/O) — GPIO27, ADC2_CH7, TOUCH_CH7IO27J2 contact 12: IO14 (I/O) — GPIO14, ADC2_CH6, TOUCH_CH6, MTMSIO14J2 contact 13: IO12 (I/O) — GPIO12, ADC2_CH5, TOUCH_CH5, MTDIIO12J2 contact 14: GND (G) — GroundGNDJ2 contact 15: IO13 (I/O) — GPIO13, ADC2_CH4, TOUCH_CH4, MTCKIO13J2 contact 16: D2 (I/O) — GPIO9, D2 (used internally for SPI flash communication)D2J2 contact 17: D3 (I/O) — GPIO10, D3 (used internally for SPI flash communication)D3J2 contact 18: CMD (I/O) — GPIO11, CMD (used internally for SPI flash communication)CMDJ2 contact 19: 5V (P) — 5 V power supply5VJ2J3 contact 1: GND (G) — GroundGNDJ3 contact 2: IO23 (I/O) — GPIO23IO23J3 contact 3: IO22 (I/O) — GPIO22IO22J3 contact 4: TX (I/O) — GPIO1, U0TXDTXJ3 contact 5: RX (I/O) — GPIO3, U0RXDRXJ3 contact 6: IO21 (I/O) — GPIO21IO21J3 contact 7: GND (G) — GroundGNDJ3 contact 8: IO19 (I/O) — GPIO19IO19J3 contact 9: IO18 (I/O) — GPIO18IO18J3 contact 10: IO5 (I/O) — GPIO5IO5J3 contact 11: IO17 (I/O) — GPIO17 (WROOM/SOLO-1 assemblies only; reserved for internal use on WROVER boards)IO17J3 contact 12: IO16 (I/O) — GPIO16 (WROOM/SOLO-1 assemblies only; reserved for internal use on WROVER boards)IO16J3 contact 13: IO4 (I/O) — GPIO4, ADC2_CH0, TOUCH_CH0IO4J3 contact 14: IO0 (I/O) — GPIO0, ADC2_CH1, TOUCH_CH1, BootIO0J3 contact 15: IO2 (I/O) — GPIO2, ADC2_CH2, TOUCH_CH2IO2J3 contact 16: IO15 (I/O) — GPIO15, ADC2_CH3, TOUCH_CH3, MTDOIO15J3 contact 17: D1 (I/O) — GPIO8, D1 (used internally for SPI flash communication)D1J3 contact 18: D0 (I/O) — GPIO7, D0 (used internally for SPI flash communication)D0J3 contact 19: CLK (I/O) — GPIO6, CLK (used internally for SPI flash communication)CLKJ3

power · ground · GPIO / signal · GPIO occupied by internal flash/PSRAM, either on this board design or on some compatible modules (see the exact condition on the linked claim)

Every pin block is a link: click or Tab + Enter to jump to its row below; LED pins lead to the revision-scoped claim with its fixed source. The selected revision and last pin are restorable from the URL hash (e.g. #rev=v1.1/pin=J3-10); an unknown revision value is reported, never defaulted.

J2 contacts

Name, Type and Function columns are transcribed from the official V4 header-block table. Type legend: P = power supply, I = input, O = output, G = ground. · Source: DevKitC V4 guide

No.NameTypeGPIOFunction (official)
13V3P—3.3 V power supply
2ENI—CHIP_PU, Reset
3VPI36GPIO36, ADC1_CH0, S_VP
4VNI39GPIO39, ADC1_CH3, S_VN
5IO34I34GPIO34, ADC1_CH6, VDET_1
6IO35I35GPIO35, ADC1_CH7, VDET_2
7IO32I/O32GPIO32, ADC1_CH4, TOUCH_CH9, XTAL_32K_P
8IO33I/O33GPIO33, ADC1_CH5, TOUCH_CH8, XTAL_32K_N
9IO25I/O25GPIO25, ADC2_CH8, DAC_1
10IO26I/O26GPIO26, ADC2_CH9, DAC_2
11IO27I/O27GPIO27, ADC2_CH7, TOUCH_CH7
12IO14I/O14GPIO14, ADC2_CH6, TOUCH_CH6, MTMS
13IO12I/O12GPIO12, ADC2_CH5, TOUCH_CH5, MTDI
14GNDG—Ground
15IO13I/O13GPIO13, ADC2_CH4, TOUCH_CH4, MTCK
16D2I/O9GPIO9, D2 (used internally for SPI flash communication)
17D3I/O10GPIO10, D3 (used internally for SPI flash communication)
18CMDI/O11GPIO11, CMD (used internally for SPI flash communication)
195VP—5 V power supply

J3 contacts

Same table as J2. IO16/IO17 (contacts 11-12) are usable only on boards assembled with ESP32-WROOM or ESP32-SOLO-1 modules; boards with ESP32-WROVER modules have the pins reserved for internal use (PSRAM) - see the gpio.occupied_by_internal_storage claim on the WROVER module entries. · Source: DevKitC V4 guide

No.NameTypeGPIOFunction (official)
1GNDG—Ground
2IO23I/O23GPIO23
3IO22I/O22GPIO22
4TXI/O1GPIO1, U0TXD
5RXI/O3GPIO3, U0RXD
6IO21I/O21GPIO21
7GNDG—Ground
8IO19I/O19GPIO19
9IO18I/O18GPIO18
10IO5I/O5GPIO5
11IO17I/O17GPIO17 (WROOM/SOLO-1 assemblies only; reserved for internal use on WROVER boards)
12IO16I/O16GPIO16 (WROOM/SOLO-1 assemblies only; reserved for internal use on WROVER boards)
13IO4I/O4GPIO4, ADC2_CH0, TOUCH_CH0
14IO0I/O0GPIO0, ADC2_CH1, TOUCH_CH1, Boot
15IO2I/O2GPIO2, ADC2_CH2, TOUCH_CH2
16IO15I/O15GPIO15, ADC2_CH3, TOUCH_CH3, MTDO
17D1I/O8GPIO8, D1 (used internally for SPI flash communication)
18D0I/O7GPIO7, D0 (used internally for SPI flash communication)
19CLKI/O6GPIO6, CLK (used internally for SPI flash communication)

Ordering variants

Part numberModuleFlashPSRAMAntennaStatus
ESP32-DevKitC-32EESP32-WROOM-32E4 MB—pcbactive
ESP32-DevKitC-32UEESP32-WROOM-32UE4 MB—external-connectoractive
ESP32-DevKitC-VEESP32-WROVER-E8 MB8 MBpcbactive
ESP32-DevKitC-VIEESP32-WROVER-IE8 MB8 MBexternal-connectoractive

Source for all rows: DevKitC V4 guide (EOL marking as of that document).

Published fields

FieldValueApplies toStatusSourceNotes
power_supply.optionsmicro_usb_port, 5v_and_gnd_pins, 3v3_and_gnd_pinsAll revisionsverified · cc40 · 2026-11-08DevKitC V4 guideThree mutually exclusive supply paths; official warning: the board must be powered by exactly one option at a time, otherwise the board and/or the supply source can be damaged.
usb_uart.max_baud3 MbpsAll revisionsverified · cc40 · 2026-11-08DevKitC V4 guideV4 components table: 'USB-to-UART Bridge: Single USB-to-UART bridge chip, providing transfer rates up to 3 Mbps.' Single micro-USB port for both power and communication (unlike ESP32-S3-DevKitC-1, there is no native-USB connector).
boot_mode.buttonshold BOOT, then press ENAll revisionsverified · cc40 · 2026-11-08DevKitC V4 guideBoot button description: holding Boot and then pressing EN initiates Firmware Download mode for downloading firmware through the serial port.
power_led5 V Power On LED, not user-programmableAll revisionsverified · cc40 · 2026-11-08DevKitC V4 guideTurns on when USB or an external 5 V supply is connected. The V4 component list contains no user LED of any kind, so unlike ESP32-S3-DevKitC-1 there is no onboard blink LED.
gpio.flash_occupied6, 7, 8, 9, 10, 11All revisionsverified · cc40 · 2026-11-08DevKitC V4 guideGuide footnote: D0, D1, D2, D3, CMD and CLK (GPIO6-11) are used internally for communication between ESP32 and the SPI flash memory; avoid using them as it may disrupt access to the SPI flash memory/SPI RAM.

Compatible modules

  • ESP32-WROOM-32E — Wi-Fi + Bluetooth + BLE module built around the ESP32 series SoC (ESP32-D0WD-V3 / D0WDR2-V3, Xtensa dual-core LX6 up to 240 MHz) with on-board PCB antenna and integrated SPI flash (4/8/16 MB options per the module datasheet).
  • ESP32-WROOM-32UE — Same platform as ESP32-WROOM-32E but with an external antenna connector instead of the on-board PCB antenna.
  • ESP32-WROVER-E — Wi-Fi + Bluetooth + BLE module on a PCB antenna with integrated SPI flash and PSRAM (module family offers N4R8, N8R8, N16R8, plus EOL N4R2 per the module datasheet).
  • ESP32-WROVER-IE — Same platform as ESP32-WROVER-E but with an external antenna connector instead of the on-board PCB antenna.