ESP32-DevKitC
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
J2 contacts
| No. | Name | Type | GPIO | Function (official) |
|---|---|---|---|---|
| 1 | 3V3 | P | — | 3.3 V power supply |
| 2 | EN | I | — | CHIP_PU, Reset |
| 3 | VP | I | 36 | GPIO36, ADC1_CH0, S_VP |
| 4 | VN | I | 39 | GPIO39, ADC1_CH3, S_VN |
| 5 | IO34 | I | 34 | GPIO34, ADC1_CH6, VDET_1 |
| 6 | IO35 | I | 35 | GPIO35, ADC1_CH7, VDET_2 |
| 7 | IO32 | I/O | 32 | GPIO32, ADC1_CH4, TOUCH_CH9, XTAL_32K_P |
| 8 | IO33 | I/O | 33 | GPIO33, ADC1_CH5, TOUCH_CH8, XTAL_32K_N |
| 9 | IO25 | I/O | 25 | GPIO25, ADC2_CH8, DAC_1 |
| 10 | IO26 | I/O | 26 | GPIO26, ADC2_CH9, DAC_2 |
| 11 | IO27 | I/O | 27 | GPIO27, ADC2_CH7, TOUCH_CH7 |
| 12 | IO14 | I/O | 14 | GPIO14, ADC2_CH6, TOUCH_CH6, MTMS |
| 13 | IO12 | I/O | 12 | GPIO12, ADC2_CH5, TOUCH_CH5, MTDI |
| 14 | GND | G | — | Ground |
| 15 | IO13 | I/O | 13 | GPIO13, ADC2_CH4, TOUCH_CH4, MTCK |
| 16 | D2 | I/O | 9 | GPIO9, D2 (used internally for SPI flash communication) |
| 17 | D3 | I/O | 10 | GPIO10, D3 (used internally for SPI flash communication) |
| 18 | CMD | I/O | 11 | GPIO11, CMD (used internally for SPI flash communication) |
| 19 | 5V | P | — | 5 V power supply |
J3 contacts
| No. | Name | Type | GPIO | Function (official) |
|---|---|---|---|---|
| 1 | GND | G | — | Ground |
| 2 | IO23 | I/O | 23 | GPIO23 |
| 3 | IO22 | I/O | 22 | GPIO22 |
| 4 | TX | I/O | 1 | GPIO1, U0TXD |
| 5 | RX | I/O | 3 | GPIO3, U0RXD |
| 6 | IO21 | I/O | 21 | GPIO21 |
| 7 | GND | G | — | Ground |
| 8 | IO19 | I/O | 19 | GPIO19 |
| 9 | IO18 | I/O | 18 | GPIO18 |
| 10 | IO5 | I/O | 5 | GPIO5 |
| 11 | IO17 | I/O | 17 | GPIO17 (WROOM/SOLO-1 assemblies only; reserved for internal use on WROVER boards) |
| 12 | IO16 | I/O | 16 | GPIO16 (WROOM/SOLO-1 assemblies only; reserved for internal use on WROVER boards) |
| 13 | IO4 | I/O | 4 | GPIO4, ADC2_CH0, TOUCH_CH0 |
| 14 | IO0 | I/O | 0 | GPIO0, ADC2_CH1, TOUCH_CH1, Boot |
| 15 | IO2 | I/O | 2 | GPIO2, ADC2_CH2, TOUCH_CH2 |
| 16 | IO15 | I/O | 15 | GPIO15, ADC2_CH3, TOUCH_CH3, MTDO |
| 17 | D1 | I/O | 8 | GPIO8, D1 (used internally for SPI flash communication) |
| 18 | D0 | I/O | 7 | GPIO7, D0 (used internally for SPI flash communication) |
| 19 | CLK | I/O | 6 | GPIO6, CLK (used internally for SPI flash communication) |
Ordering variants
| Part number | Module | Flash | PSRAM | Antenna | Status |
|---|---|---|---|---|---|
| ESP32-DevKitC-32E | ESP32-WROOM-32E | 4 MB | — | pcb | active |
| ESP32-DevKitC-32UE | ESP32-WROOM-32UE | 4 MB | — | external-connector | active |
| ESP32-DevKitC-VE | ESP32-WROVER-E | 8 MB | 8 MB | pcb | active |
| ESP32-DevKitC-VIE | ESP32-WROVER-IE | 8 MB | 8 MB | external-connector | active |
Published fields
| Field | Value | Applies to | Status | Source | Notes |
|---|---|---|---|---|---|
power_supply.options | micro_usb_port, 5v_and_gnd_pins, 3v3_and_gnd_pins | All revisions | verified · cc40 · 2026-11-08 | DevKitC V4 guide | Three 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_baud | 3 Mbps | All revisions | verified · cc40 · 2026-11-08 | DevKitC V4 guide | V4 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.buttons | hold BOOT, then press EN | All revisions | verified · cc40 · 2026-11-08 | DevKitC V4 guide | Boot button description: holding Boot and then pressing EN initiates Firmware Download mode for downloading firmware through the serial port. |
power_led | 5 V Power On LED, not user-programmable | All revisions | verified · cc40 · 2026-11-08 | DevKitC V4 guide | Turns 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_occupied | 6, 7, 8, 9, 10, 11 | All revisions | verified · cc40 · 2026-11-08 | DevKitC V4 guide | Guide 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.