← Reference · Home · Print this page
Electronics · Embedded Systems
ESP32
Reference entry · last updated 20260914
ESP32 is a 2.4 GHz Wi-Fi and Bluetooth system-on-chip (SoC) from Espressif Systems. The silicon is not a complete product: a module adds flash and an antenna, and a development board adds USB, a 3.3 V regulator, and pin headers.[1][3]
1. First principles and definitions
A microcontroller is a computer on one die: CPU, RAM, ROM, timers, and I/O. A radio SoC adds a wireless PHY and MAC on the same die. ESP32 is the second kind. It integrates 802.11 b/g/n Wi-Fi, Bluetooth BR/EDR, Bluetooth LE, an Xtensa CPU, SRAM, and peripherals, plus RF blocks (antenna switch, balun, power amplifier, LNA, filters).[1][4]
Firmware lives in flash and runs on the chip. Espressif's official path is to compile an application with ESP-IDF and flash it over a serial adapter. That is not a general-purpose operating system with a userland and a disk.[2]
Digital I/O is 3.3 V class. The datasheet's typical supply is 3.3 V, with 3.6 V as the recommended maximum on the 3.3 V domains. A USB 5 V rail on a development board feeds a regulator. It is not a GPIO voltage.[1][3] See volts and Ohm's law.
2. Chip, module, and board
Three packaged products share the name:
- SoC. The ESP32 silicon (for example ESP32-D0WD-V3). It needs external flash (unless the variant has in-package flash), a crystal, power, and an antenna network.[1]
- Module. A certified RF module such as ESP32-WROOM-32E (flash, PCB or IPEX antenna) or ESP32-WROVER (flash plus PSRAM). The module is the usual unit a board designer places.[12]
- Development board. Espressif's ESP32-DevKitC V4 mounts a module, a USB-to-UART bridge, EN and Boot buttons, a 3.3 V regulator, and dual pin headers for a breadboard.[3]
ESP-IDF's ESP32 getting-started page links official boards including ESP32-DevKitC, ESP32-DevKitM-1, ESP32-Ethernet-Kit, ESP32-PICO-KIT-1, ESP32-PICO-DevKitM-2, and ESP32-LCDKit. Third-party boards reuse the same SoC and module parts with different USB chips and antenna layouts.[2]
3. Original ESP32 specifications
Espressif released ESP32 in 2016, after the Wi-Fi-only ESP8266 (2014).[5][6] The series datasheet (v5.3) describes a 40 nm combo chip with these headline numbers:
| Item | Value (ESP32 series) |
|---|---|
| CPU | Xtensa 32-bit LX6, one or two cores, up to 240 MHz |
| On-chip memory | 448 KB ROM, 520 KB SRAM, 16 KB RTC SRAM |
| Wi-Fi | 802.11 b/g/n, 2.4 GHz, up to 150 Mbps (802.11n) |
| Bluetooth | v4.2 BR/EDR and Bluetooth LE |
| GPIO | 34 programmable pins (some input-only; some reserved for in-package flash/PSRAM) |
| Analog | 12-bit SAR ADC (up to 18 channels), two 8-bit DACs, 10 touch sensors |
| Digital I/O examples | SPI, I2C, I2S, UART, SDIO, LED PWM, motor PWM, RMT, TWAI (CAN 2.0), Ethernet MAC |
| Supply (typical) | 3.3 V (recommended max 3.6 V on the 3.3 V domains) |
| Operating temperature | -40 °C to 125 °C; -40 °C to 85 °C for some in-package flash/PSRAM parts |
Sources: Espressif ESP32 Series Datasheet v5.3.[1]
The chip can run standalone or as a slave radio for a host MCU over SPI, SDIO, I2C, or UART.[4] Several early package variants are marked NRND or EOL; ESP32-D0WD-V3 remains in the current datasheet set.[1]
4. Later ESP32-named SoCs
Espressif reused the ESP32 name for later SoCs that are not drop-in replacements. CPU ISA, Bluetooth generation, and extra radios change by series.
| Series | CPU (vendor description) | Radio notes | Launch year (Espressif) |
|---|---|---|---|
| ESP32 | Xtensa LX6, dual or single, 240 MHz typical | 2.4 GHz Wi-Fi + Bluetooth 4.2 BR/EDR and LE | 2016 |
| ESP32-S2 | Xtensa LX7, single core, 240 MHz | 2.4 GHz Wi-Fi; no Bluetooth in the ESP-IDF comparison | 2020 |
| ESP32-C3 | RISC-V, single core, 160 MHz | 2.4 GHz Wi-Fi + Bluetooth 5 LE | 2020 |
| ESP32-S3 | Xtensa LX7, dual core, 240 MHz | 2.4 GHz Wi-Fi + Bluetooth 5 LE; 512 KB SRAM | 2020 |
| ESP32-C6 | RISC-V HP core up to 160 MHz plus an LP core | 2.4 GHz Wi-Fi 6, Bluetooth 5 LE, IEEE 802.15.4 (Thread/Zigbee) | 2022 product page |
ESP32, ESP32-S2, and ESP32-C3 rows follow Espressif's ESP-IDF v4.3 chip-series comparison. ESP32-S3 follows Espressif's 31 December 2020 announcement. ESP32-C6 follows Espressif's product page.[5][6][7][8]
A board labeled "ESP32" may be any of these. Firmware, pin maps, and radio APIs must match the variant.
5. Programming stacks
- ESP-IDF. Espressif's official IoT Development Framework. C/C++ toolchain, FreeRTOS-based runtime, Wi-Fi and Bluetooth stacks, and
idf.pyto build and flash.[2] - Arduino-ESP32. Arduino APIs on top of ESP-IDF. Espressif's Arduino core 3.3.11 documents itself as based on ESP-IDF 5.5.[9]
- MicroPython. A Python interpreter ported to ESP32, ESP32-C3, ESP32-C6, ESP32-S2, and ESP32-S3, with a serial REPL.[10]
- ESPHome. YAML firmware for Home Assistant. The
esp32platform takes avariantthat must match the silicon, includingesp32,esp32s2,esp32s3,esp32c3, andesp32c6.[11]
All four flash firmware onto the chip. They differ in language and in how much of ESP-IDF they expose.
6. Voltage, pins, and power
Recommended digital supply is 3.3 V typical. Absolute maximum on those pins is 3.6 V. Some in-package flash/PSRAM parts need at least 3.0 V; parts without in-package memory may go down to 2.3 V.[1]
Not every GPIO is general-purpose. Espressif marks some pins input-only (no output, no on-chip pull resistors), some as strapping pins that set boot mode, and some as reserved for in-package flash or PSRAM. On DevKitC, GPIO0 is the Boot button; pulling it low at reset enters download mode.[1][3][11]
Radio current is large compared with sleep current. At 3.3 V and 25 °C, Espressif measures typical 240 mA transmit for 802.11b at +19.5 dBm, 95-100 mA Wi-Fi receive, and 10 µA in Deep-sleep (RTC memory can stay powered).[1] Average power depends on duty cycle, not on the peak TX number alone.
The on-chip radio is 2.4 GHz. ESP32 modules ship with a PCB antenna or an IPEX connector for an external antenna.[12]
7. See also
8. References
- Espressif, ESP32 Series Datasheet, Version 5.3 (PDF)
- Espressif, ESP-IDF Programming Guide, ESP32 Get Started (v6.1)
- Espressif, ESP32-DevKitC V4 User Guide
- Espressif, ESP32 Wi-Fi & Bluetooth SoC product page
- Espressif, ESP-IDF v4.3 Chip Series Comparison
- Espressif, Introducing ESP32-C3 (27 November 2020)
- Espressif, Announcing ESP32-S3 for AIoT Applications (31 December 2020)
- Espressif, ESP32-C6 Wi-Fi 6 & BLE 5 & Thread/Zigbee SoC
- Espressif, Arduino ESP32 Core documentation (core 3.3.11 / ESP-IDF 5.5)
- MicroPython, Quick reference for the ESP32
- ESPHome, ESP32 Platform
- Espressif, ESP32 Series of Modules