ESP32-DevKitC specs, pinout & datasheets
Espressif’s reference ESP32 board: an ESP32-WROOM or WROVER module with USB-serial and every pin on two breadboard headers.
- CPU
- 2 × Xtensa LX6, 32-bit (1 core on the SOLO-1 version)
- Clock
- Up to 240 MHz
- RAM
- 520 KB SRAM (plus 8 MB PSRAM on WROVER-E versions)
- Flash
- 4, 8 or 16 MB, depending on the module
- Wireless
- 2.4 GHz 802.11 b/g/n Wi-Fi; Bluetooth 4.2 BR/EDR and BLE
- I/O voltage
- 3.3 V
- Status
- In production
Specs checked against the cited sources on 1 October 2026 (AI-assisted source check). Spotted a mistake? Use the form at the end of the page.
Specifications
- Chip / SoC
- Espressif ESP32 in an ESP32-WROOM-32E/UE or WROVER-E/IE module (older boards: WROOM-32/32D/32U, SOLO-1)[1]
- CPU
- 2 × Xtensa LX6, 32-bit (1 core on the SOLO-1 version)[2]
- Clock
- Up to 240 MHz[2]
- RAM
- 520 KB SRAM (plus 8 MB PSRAM on WROVER-E versions)[7]
- Flash
- 4, 8 or 16 MB, depending on the module[6]
- I/O voltage
- 3.3 V[2]
- Wireless
- 2.4 GHz 802.11 b/g/n Wi-Fi; Bluetooth 4.2 BR/EDR and BLE[2]
- USB
- Micro-USB via a USB-to-UART bridge[1]
- Upload limits
- 4 MB flash, 320 KB RAM[8]
Upload limits are what a sketch or firmware may use after the bootloader, as the build tools enforce them, not the chip’s full memory.
Can I still use it?
- Arduino framework
- Supported[5]Arduino core for the ESP32 by Espressif.
- MicroPython
- Supported[12]
- CircuitPython
- Supported[10]
- Zephyr RTOS
- Supported[9]
As published by each project, checked weekly. A platform not listed has no published information here, which is not the same as no support.
Datasheets and documents
Pinout
Pin names in firmware (32 pins)
| Chip pin | Board names |
|---|---|
| GPIO0 | IO0, BUTTON, BOOT0 |
| GPIO1 | IO1, TX |
| GPIO2 | IO2 |
| GPIO3 | IO3, RX |
| GPIO4 | IO4 |
| GPIO5 | IO5 |
| GPIO6 | CLK, IO6 |
| GPIO7 | D0, IO7 |
| GPIO8 | D1, IO8 |
| GPIO9 | D2, IO9 |
| GPIO10 | D3, IO10 |
| GPIO11 | CMD, IO11 |
| GPIO12 | IO12 |
| GPIO13 | IO13 |
| GPIO14 | IO14 |
| GPIO15 | IO15 |
| GPIO16 | IO16 |
| GPIO17 | IO17 |
| GPIO18 | IO18 |
| GPIO19 | IO19 |
| GPIO21 | IO21 |
| GPIO22 | IO22 |
| GPIO23 | IO23 |
| GPIO25 | IO25 |
| GPIO26 | IO26 |
| GPIO27 | IO27 |
| GPIO32 | IO32 |
| GPIO33 | IO33 |
| GPIO34 | I34 |
| GPIO35 | I35 |
| GPIO36 | I36, VP |
| GPIO39 | I39, VN |
Gotchas
- ADC2 unavailable with Wi-Fi. On the original ESP32, the ADC2 channels cannot be read while Wi-Fi is running; put analog inputs on ADC1 pins (GPIO32–39).[3]
- Strapping pins. Some GPIOs set the boot mode at reset (GPIO0, 2, 5, 12 and 15 on the ESP32). Pulling them the wrong way stops the board booting or flashing; GPIO12 high at boot can select the wrong flash voltage.[2]
- Flash pins are off limits. GPIO6 to GPIO11 connect to the module's SPI flash; avoid them, as using them can disrupt flash and PSRAM access.[1]
- Input-only pins. GPIO34 to GPIO39 are input-only and have no internal pull-ups or pull-downs.[2]
Power and battery
- Supply
- 5 V via USB or the 5V pin, or 3.3 V on the 3V3 pin[1]
- Deep sleep (chip)
- About 10 µA with the RTC timer[2]
Use one power input only: USB, the 5V pin or the 3V3 pin. The board's USB bridge, regulator and LED draw far more than the chip in deep sleep, so battery projects use bare modules or low-quiescent boards.
History and use today
History
The DevKitC is Espressif's own development board for the ESP32, whose first datasheet was published in August 2016.[2]
Still useful for
A good first ESP32 board: every pin is broken out, and it matches the generic “ESP32 Dev Module” setting in the Arduino core.
Sources
- ESP32-DevKitC V4 user guide, Espressif
- ESP32 Series datasheet, Espressif
- GPIO & RTC GPIO (ESP32), ESP-IDF Programming Guide
- ESP-IDF Programming Guide, Espressif
- Arduino core for the ESP32, Espressif
- ESP32-WROOM-32E & ESP32-WROOM-32UE datasheet, Espressif
- ESP32-WROVER-E & ESP32-WROVER-IE datasheet, Espressif
- PlatformIO board definition (esp32dev)
- Zephyr board definition (esp32_devkitc)
- CircuitPython board definition (espressif_esp32_devkitc_v4_wroom_32e)
- CircuitPython board definition (espressif_esp32_devkitc_v4_wrover)
- MicroPython board definition (ESP32_GENERIC)
- CircuitPython pin definitions (espressif_esp32_devkitc_v4_wroom_32e)
Spotted a mistake?
Every report is read by a person and checked against a source before anything changes. Please link one if you have it.