# ESP32

ESP32 is a series of low-cost, low-power system-on-chip microcontrollers with integrated Wi-Fi and dual-mode Bluetooth. The ESP32 series employs either a Tensilica Xtensa LX6 microprocessor in both dual-core and single-core variations, an Xtensa LX7 dual-core microprocessor, or a single-core RISC-V microprocessor and includes built-in antenna switches, RF balun, power amplifier, low-noise receive amplifier, filters, and power-management modules. It is commonly found either on device-specific PCBs or on a range of development boards with GPIO pins and various connectors depending on the model and manufacturer of the board.
ESP32 is created and developed by Espressif Systems, a Chinese company based in Shanghai, and is manufactured by TSMC using their 40 nm process. It is a successor to the ESP8266 microcontroller.

## Features

Features of the ESP32 include the following:
* Processors:
** CPU: Xtensa dual-core (or single-core) 32-bit LX6 microprocessor, operating at 160 or 240 MHz and performing at up to 600 DMIPS
** Ultra-low-power (ULP) co-processor
* Memory: 520 KiB RAM, 448 KiB ROM
* Wireless connectivity:
** Wi-Fi: 802.11 b/g/n
** Bluetooth: v4.2 BR/EDR and BLE (shares the radio with Wi-Fi)
* Peripheral interfaces:
** 34 programmable GPIOs
** 10 × touch sensors (capacitive sensing GPIOs)
** 2 × 12-bit SAR ADCs, up to 18 channels, with four levels of attenuation
** 2 × 8-bit DAC (except on ESP32-C3 and ESP32-S3)
** Delta-sigma modulated binary output (up to 8 channels)
** Motor PWM
** LED PWM (up to 16 channels)
** Infrared remote controller (TX/RX, up to 8 channels)
** Pulse counter (capable of full quadrature decoding)
** Standard communication interfaces:
*** 4 × SPI
*** 2 × I²S interfaces
*** 2 × I²C interfaces
*** 3 × UART
*** SD/SDIO/CE-ATA/MMC/eMMC host controller
*** SDIO/SPI slave controller
*** Ethernet MAC interface with dedicated DMA and planned IEEE 1588 Precision Time Protocol support
*** CAN bus 2.0
* Security:
** IEEE 802.11 standard security features all supported, including WPA, WPA2, WPA3 (depending on version) and WLAN Authentication and Privacy Infrastructure (WAPI)
** Secure boot
** Flash encryption
** 1024-bit OTP, up to 768-bit for customers
** Cryptographic hardware acceleration: AES, SHA-2, RSA, elliptic curve cryptography (ECC), random number generator (RNG)
* Power management:
** Internal low-dropout regulator
** Individual power domain for RTC
** 5 μA deep sleep current
** Wake up from GPIO interrupt, timer, ADC measurements, capacitive touch sensor interrupt

## ESP32-xx family

Since the release of the original ESP32, a number of variants have been introduced and announced. They form the ESP32 family of microcontrollers. These chips have different CPUs and capabilities, but all share the same SDK and are largely code-compatible. Additionally, the original ESP32 was revised (see ESP32 ECO V3, for example).

### ESP32

* Xtensa single-/dual-core 32-bit LX6 microprocessor(s)
* Supports single-precision Floating Point Unit (FPU)
* Wi-Fi: 802.11 b/g/n
* Bluetooth: v4.2 BR/EDR and BLE (shares the radio with Wi-Fi)
* 34 GPIOs
* 2 × 12-bit SAR ADCs, up to 18 channels
* 2 × 8-bit DAC

### ESP32-S2

* Single-core Xtensa LX7 CPU, up to 240 MHz (With ULP Co-Processor Running at 20Mhz)
* NO Floating Point Unit (no FPU)
* 320 KiB SRAM, 128 KiB ROM, and 16 KiB RTC SRAM
* Wi-Fi 2.4 GHz (IEEE 802.11b/g/n)
* No Bluetooth
* 43 GPIOs
* 2 × 13-bit SAR ADCs, up to 20 channels
* 2 × 8-bit DAC
* USB OTG

### ESP32-S3

* Dual-core Xtensa LX7 CPU, up to 240 MHz, and supporting single-precision FPU
** Added instructions to accelerate machine learning applications
* 512 KiB SRAM, 384 KiB ROM, and 16 KiB RTC SRAM
* Capable of connecting to external PSRAM and Flash via Quad SPI or Octal SPI, and share the same 32 MiB address space
* Ultra-low-power RISC-V (RV32IMC) coprocessor clocked at 17.5 MHz approximately
* Ultra-low-power FSM coprocessor similar to previous ESP32 and ESP32-S2
* Wi-Fi 2.4 GHz (IEEE 802.11 b/g/n)
* Bluetooth 5 (LE)
* 45 GPIOs
* No integrated Ethernet MAC
* 2 × 12-bit SAR ADCs, up to 20 channels
* USB OTG

### ESP32-C2

* 32-bit RISC-V single-core processor that operates at up to 120 MHz, implementing RV32IMC ISA
* State-of-the-art power and RF performance
* 576 KB ROM, 272 KB SRAM (16 KB for cache) on the chip
* Wi-Fi 2.4 GHz (IEEE 802.11b/g/n)
* Bluetooth 5 (LE)
* 14 GPIOs (QFN24)
* SPI, UART, I2C, LED PWM controller, General DMA controller (GDMA), SAR ADC, Temperature sensor
* No USB support

### ESP32-C3

* Single-core 32-bit RISC-V CPU, up to 160 MHz
* 400 KiB SRAM, 384 KiB ROM, and 8 KiB RTC SRAM
* Wi-Fi 2.4 GHz (IEEE 802.11b/g/n)
* Bluetooth 5 (LE)
* 22 (QFN32) or 16 (QFN32) or 15 (ESP8685 QFN28) GPIOs
* 2 × 12-bit SAR ADC
* Pin compatible with ESP8266
* USB device

### ESP32-C6

* High performance 32-bit RISC-V CPU, up to 160 MHz, implementing RV32IMAC
* Low-power 32-bit RISC-V CPU, up to 20 MHz, implementing RV32IMAC
* 512 KiB SRAM and 320 KiB ROM
* IEEE 802.11ax (Wi-Fi 6) on 2.4 GHz, supporting 20 MHz bandwidth in 11ax mode, 20 or 40 MHz bandwidth in 11b/g/n mode
* IEEE 802.15.4 (Thread + Zigbee)
* Bluetooth 5.3 (LE)
* 30 (QFN40) or 22 (QFN32) GPIOs
* USB device

### ESP32-H2

* Single-core 32-bit RISC-V CPU, up to 96 MHz
* 256 KB SRAM
* IEEE 802.15.4 (Thread + Zigbee)
* Bluetooth 5.3 (LE)
* No Wi-Fi support
* 19 GPIOs
* USB device

## Announced
### ESP32-C5

* Single-core 32-bit RISC-V CPU, up to 240 MHz
* 384 KB SRAM and 320 KB ROM
* IEEE 802.11ax (Wi-Fi 6) on 2.4 and 5 GHz, supporting 20 MHz bandwidth in 11ax mode, 20 or 40 MHz bandwidth in 11b/g/n mode
* IEEE 802.15.4 (Thread + Zigbee)
* Bluetooth 5 (LE)
* Over 20 GPIOs

### ESP32-P4

* High performance dual-core 32-bit RISC-V CPU, up to 400 MHz
** Implementing RV32IMAFC_Zicsr_Zifencei and custom AI/vector instructions.
** Supports single-precision Floating Point Unit (FPU).
* Low performance single-core 32-bit RISC-V CPU, up to 40 MHz
** Implementing RV32IMAC_Zicsr_Zifencei ISA extensions.
* 768 KiB SRAM on high-performance core system.
* 8 KiB TCM on high-performance core system.
* 32 KiB SRAM on low-power subsystem.
* Support PSRAM.
* Integrated hardware accelerators for various media encoding protocols, including H.264.
* Wi-Fi and Bluetooth are not implemented.
** If a wireless connection is required, it can be easily connected to the ESP32-C/S/H series.
* Over 50 GPIOs

## QFN packaged chip and module

ESP32 is housed in quad-flat no-leads (QFN) packages of varying sizes with 49 pads. Specifically, 48 connection pads along the sides and one large thermal pad (connected to ground) on the bottom.

### Chips

The ESP32 system on a chip integrated circuit is packaged in both 6 mm × 6 mm and 5 mm × 5 mm sized QFN packages.
| Series | Identifier | Processor cores | Processor speed (MHz) | Embedded flash memory (MiB) | Embedded PSRAM memory (MiB) | GPIOs | Package size | Description |
| ESP32 |
| ESP32 | ESP31B | 2 | 240 | 0 | 0 | 34 | 6 mm×6 mm | Pre-release SoC used for beta testing; no longer available. |
| ESP32 | ESP32-D0WDQ6 | 2 | 240 | 0 | 0 | 34 | 6 mm×6 mm | Initial production release chip of the ESP32 series. Not Recommended for New Designs (NRND). |
| ESP32 | ESP32-D0WD | 2 | 240 | 0 | 0 | 34 | 5 mm×5 mm | Smaller physical package variation similar to ESP32-D0WDQ6. Not Recommended for New Designs (NRND). |
| ESP32 | ESP32-D0WDQ6-V3 | 2 | 240 | 0 | 0 | 34 | 6 mm×6 mm | Introduces some fixes to ESP32-D0WDQ6. Not Recommended for New Designs (NRND). |
| ESP32 | ESP32-D2WD | 2 | 160 | 2 | 0 | 34 | 5 mm×5 mm | 2 MiB (16 Mibit) embedded flash memory variation. Removed. Not Recommended for New Designs (NRND). |
| ESP32 | ESP32-S0WD | 1 | 160 | 0 | 0 | 34 | 5 mm×5 mm | Single-core processor variation. Not Recommended for New Designs (NRND). |
| ESP32 | ESP32-D0WD-V3 | 2 | 240 | 0 | 0 | 34 | 5 mm×5 mm | Introduces some fixes to ESP32-D0WD. |
| ESP32 | ESP32-D0WDR2-V3 | 2 | 240 | 0 | 2 | 34 | 5 mm×5 mm | |
| ESP32 | ESP32-U4WDH | 2 | 240 | 4 | 0 | 34 | 5 mm×5 mm | Single-core processor and 4 MiB (32 Mibit) embedded flash memory variation. Also 1 CPU 160MHz variant existed. |
| ESP32-S2 |
| ESP32-S2 | ESP32-S2 | 1 | 240 | 0 | 0 | 43 | 7 mm×7 mm | With USB OTG. |
| ESP32-S2 | ESP32-S2R2 | 1 | 240 | 0 | 2 | 43 | 7 mm×7 mm | With USB OTG. |
| ESP32-S2 | ESP32-S2FH2 | 1 | 240 | 2 | 0 | 43 | 7 mm×7 mm | With USB OTG. |
| ESP32-S2 | ESP32-S2FH4 | 1 | 240 | 4 | 0 | 43 | 7 mm×7 mm | With USB OTG. |
| ESP32-S2 | ESP32-S2FN4R2 | 1 | 240 | 4 | 2 | 43 | 7 mm×7 mm | With USB OTG. |
| ESP32-S3 |
| ESP32-S3 | ESP32-S3 | 2 | 240 | 0 | 0 | 45 | 7 mm×7 mm | With USB OTG. With 3.3V and 1.8V VDD_SPI voltage. |
| ESP32-S3 | ESP32-S3R2 | 2 | 240 | 0 | 2 | 45 | 7 mm×7 mm | With USB OTG. |
| ESP32-S3 | ESP32-S3R8 | 2 | 240 | 0 | 8 | 45 | 7 mm×7 mm | With USB OTG. |
| ESP32-S3 | ESP32-S3R8V | 2 | 240 | 0 | 8 | 45 | 7 mm×7 mm | With USB OTG. With 1.8V VDD_SPI voltage. |
| ESP32-S3 | ESP32-S3FN8 | 2 | 240 | 8 | 0 | 45 | 7 mm×7 mm | With USB OTG. |
| ESP32-S3 | ESP32-S3FH4R2 | 2 | 240 | 4 | 2 | 45 | 7 mm×7 mm | With USB OTG. |
| ESP32-C2 |
| ESP32-C2 | ESP8684H1 | 1 | 120 | 1 | 0 | 14 | 4 mm×4 mm | With Bluetooth 5. |
| ESP32-C2 | ESP8684H2 | 1 | 120 | 2 | 0 | 14 | 4 mm×4 mm | With Bluetooth 5. |
| ESP32-C2 | ESP8684H4 | 1 | 120 | 4 | 0 | 14 | 4 mm×4 mm | With Bluetooth 5. |
| ESP32-C3 |
| ESP32-C3 | ESP32-C3 | 1 | 160 | 0 | 0 | 22 | 5 mm×5 mm | With Bluetooth 5. |
| ESP32-C3 | ESP32-C3FN4 | 1 | 160 | 4 | 0 | 22 | 5 mm×5 mm | Not Recommended for New Designs (NRND). |
| ESP32-C3 | ESP32-C3FH4 | 1 | 160 | 4 | 0 | 22 | 5 mm×5 mm | With Bluetooth 5. |
| ESP32-C3 | ESP32-C3FH4AZ | 1 | 160 | 4 | 0 | 16 | 5 mm×5 mm | With Bluetooth 5. SPI0/SPI1 pins for flash connection are not bonded. |
| ESP32-C3 | ESP-Shelly-C38F | 1 | 160 | 8 | 0 | 11 | 5 mm×5 mm | With Bluetooth 5. only for the manufacturer Shelly |
| ESP32-C3 | ESP8686H4 | 1 | - | 4 | 0 | - | 4 mm×4 mm | Not released. |
| ESP32-C3 | ESP8685H2 | 1 | 160 | 2 | 0 | 15 | 4 mm×4 mm | With Bluetooth 5. |
| ESP32-C3 | ESP8685H4 | 1 | 160 | 4 | 0 | 15 | 4 mm×4 mm | With Bluetooth 5. |
| ESP32-C6 |
| ESP32-C6 | ESP32-C6 | 1 | 160 | 0 | 0 | 30 | 5 mm×5 mm | With Wi-Fi 6 and Bluetooth 5. |
| ESP32-C6 | ESP32-C6FH4 | 1 | 160 | 4 | 0 | 22 | 5 mm×5 mm | With Wi-Fi 6 and Bluetooth 5. |
| ESP32-H2 |
| ESP32-H2 | ESP32-H2FH2 | 1 | 96 | 2 | 0 | 19 | 4 mm×4 mm | With Bluetooth 5 and Bluetooth Mesh. |
| ESP32-H2 | ESP32-H2FH4 | 1 | 96 | 4 | 0 | 19 | 4 mm×4 mm | With Bluetooth 5 and Bluetooth Mesh. |
In 2020, chips ESP32-D0WDQ6 and ESP32-D0WD also got a V3 version (ESP32 ECO V3), which fixes some of the bugs and introduces improvements over the previous versions.

### Modules

The ESP32 PICO system in package modules combine an ESP32 silicon chip, crystal oscillator, flash memory chip, filter capacitors, and RF matching links into a single 7 mm × 7 mm sized QFN package.
The first released PICO was the ESP32-PICO-D4 with 2 CPUs at 240MHz, 4MiB internal flash, a 40MHz oscillator and 34 GPIOs.
Later, in 2020, the ESP32-PICO-V3 and ESP32-PICO-V3-02 modules were introduced both based on the ESP32 ECO V3 wafer.
In 2022 the ESP32-S3-PICO-1 module was introduced with USB OTG and internal PSRAM.
| Identifier | Processor cores | Processor speed (MHz) | Embedded flash memory (MiB) | Embedded PSRAM memory (MiB) | GPIOs | Package size | Description |
| ESP32-PICO-D4 | 2 | 240 | 4 | 0 | 34 | 7 mm×7 mm | Includes ESP32 chip, crystal oscillator, flash memory, filter capacitors, and RF matching links. |
| ESP32-PICO-V3 | 2 | 240 | 4 | 0 | 31 | 7 mm×7 mm | Based on ESP32 with ECO V3 wafer. |
| ESP32-PICO-V3-02 | 2 | 240 | 8 | 2 | 29 | 7 mm×7 mm | Based on ESP32 with ECO V3 wafer. |
| ESP32-S3-PICO-1-N8R2 | 2 | 240 | 8 | 2 | 39 | 7 mm×7 mm | Includes USB OTG. |
| ESP32-S3-PICO-1-N8R8 | 2 | 240 | 8 | 8 | 39 | 7 mm×7 mm | Includes USB OTG. |

## Printed circuit boards
### Surface-mount module boards

ESP32 based surface-mount printed circuit board modules directly contain the ESP32 SoC and are designed to be easily integrated onto other circuit boards. Meandered inverted-F antenna designs are used for the PCB trace antennas on the modules listed below. In addition to flash memory, some modules include pseudostatic RAM (pSRAM).
| Vendor | Name | Antenna | Flash memory (MiB) | PSRAM (MiB) | Description |
| Espressif | ESP-WROOM-03 | PCB trace | 4 | 0 | Discontinued. Limited distribution, pre-production module created by Espressif for beta testing purposes; this module used the ESP31B, the beta testing chip for the ESP32 series. FCC Part 15.247 tested (FCC ID: 2AC7Z-ESP32). |
| Espressif | ESP32-WROOM-32 | PCB trace | 4 | 0 | First publicly available ESP32 module board created by Espressif. FCC Part 15.247 tested (FCC ID: 2AC7Z-ESPWROOM32). Based on ESP32-D0WDQ6 chip. Originally named "ESP-WROOM-32". |
| Espressif | ESP32-WROOM-32E | PCB trace | 4,8,16 | 0 | Same as ESP32-WROOM-32 but with the Eco V3 processor revisions |
| Espressif | ESP32-WROOM-32D | PCB trace | 4 | 0 | Revision of the ESP-WROOM-32 module which uses an ESP32-D0WD chip instead of an ESP32-D0WDQ6 chip. Originally named "ESP-WROOM-32D". |
| Espressif | ESP32-SOLO-1 | PCB trace | 4 | 0 | Similar to the ESP32-WROOM-32D module, but uses the single-core ESP32-S0WD chip instead of the dual-core ESP32-D0WD. |
| Espressif | ESP32-WROOM-32U | U.FL socket | 4 | 0 | Alternative to the ESP-WROOM-32D module which has a U.FL connector for external antenna in lieu of a PCB trace antenna. |
| Espressif | ESP32-WROVER | PCB trace | 4 | 4 | ESP32 module board with 4 MiB pSRAM created by Espressif. FCC part 15.247 tested (FCC ID 2AC7Z-ESP32WROVER). Uses 40 MHz crystal oscillator. Does not include U.FL connector. Based on ESP32-D0WDQ6 chip. Since June 2018, new modules have been upgraded to 8 MiB pSRAM. |
| Espressif | ESP32-WROVER-I | U.FL socket, PCB trace | 4 | 4 | Variation of ESP32-WROVER module configured to use an on-board U.FL compatible connector. PCB trace antenna not connected by default. |
| Espressif | ESP32-WROVER-B | PCB trace | 4 | 8 | Revision of ESP32-WROVER module with 8 MiB pSRAM (instead of 4 MiB pSRAM) operating at 3.3V (instead of 1.8V in previous versions) and ESP32-D0WD (instead of ESP32-D0WDQ6). FCC part 15.247 tested (FCC ID 2AC7Z-ESP32WROVERB). Does not include U.FL connector. (Custom order option for flash capacity of 8 MiB or 16 MiB also available.) |
| Espressif | ESP32-WROVER-IB | U.FL socket, PCB trace | 4 | 8 | Variation of ESP32-WROVER-B module configured to use an on-board U.FL compatible connector. PCB trace antenna not connected by default. |
| Espressif | ESP32-WROVER-E | PCB trace | 4,8,16 | 2,8 | Revision of ESP32-WROVER module with 2 or 8 MiB pSRAM (instead of 4 MiB pSRAM) operating at 3.3V (instead of 1.8V in previous versions) and ESP32-D0WD-V3, or in 2MB pSRAM models, ESP32-D0WDR2-V3. FCC part 15.247 tested (FCC ID 2AC7Z-ESP32WROVERE). Does not include U.FL connector. (Custom order option for flash capacity of 2 MiB, 8 MiB, or 16 MiB also available.) |
| Espressif | ESP32-WROVER-IE | U.FL socket, PCB trace | 4,8,16 | 2,8 | Variation of ESP32-WROVER-E module configured to use an on-board U.FL compatible connector. PCB trace antenna not connected by default. |
| Espressif | ESP32-PICO-V3-ZERO | PCB trace | 4 | 0 | Based on ESP32-PICO-V3 SiP. It is designed as a module for Alexa Connect Kit (ACK) and connecting with Amazon Alexa. |
| Ai-Thinker | ESP32-S | PCB trace | 4 | 0 | Ai-Thinker's equivalent to Espressif's ESP-WROOM-32 module. (Same form factor and general specifications.) Previously branded as "ESP-32S" with the hyphen before "32S", the initial release of the ESP-32S module replaced the previously announced, but never released, ESP3212 module. |
| Ai-Thinker | ESP32-A1S | U.FL socket, PCB trace | 8 | 4 | Contains an extra AC101 audio codec IC whose IO-pins (line, mic, etc.) are led to the board pins. Comes separately or soldered onto a corresponding audio development board ("ESP32-Audio-Kit"). |
| AnalogLamb | ESP-32S-ALB | PCB trace | 4 | 0 | Clone of the ESP-32S module (ESP-WROOM-32 compatible footprint). Seen with a green solder mask coating. |
| AnalogLamb | ALB-WROOM | PCB trace | 16 | 0 | Variation of ESP-32S-ALB with 16 MiB of flash memory. |
| AnalogLamb | ALB32-WROVER | PCB trace | 4 | 4 | ESP32 module board with 4 MiB pSRAM with the same footprint as the ESP-WROOM-32 module. |
| DFRobot | ESP-WROOM-32 | PCB trace | 4 | 0 | Module board similar to Espressif Systems's ESP-WROOM-32, but is not FCC certified, and uses 26 MHz or 32 kHz crystal oscillator. |
| eBox & Widora | ESP32-Bit | Ceramic, U.FL socket | 4 | 0 | Module has a ceramic antenna and an U.FL antenna connector. This module has a different footprint than the ESP-WROOM-32/ESP-32S modules. |
| Goouuu Tech | ESP-32F | PCB trace | 4 | 0 | Module board similar to Espressif Systems's ESP-WROOM-32. FCC certified (ID 2AM77-ESP-32F). |
| IntoRobot | W32 | PCB trace | 4 | 0 | Module similar in appearance to Espressif's ESP-WROOM-32, but footprint pinout differs. |
| IntoRobot | W33 | Ceramic, U.FL socket | 4 | 0 | Differs from IntoRobot W32 module in its antenna configuration. |
| ITEAD | PSH-C32 | PCB trace | 1 | 0 | Module has unusually small flash memory on board. Also, footprint is unique and differs from all other ESP32 modules. |
| Pycom | W01 | (Not included.) | 8 | 4 | OEM module version of the WiPy 2.0. Supports Wi-Fi and Bluetooth. FCC ID 2AJMTWIPY01R. |
| Pycom | L01 | (Not included.) | 8 | 4 | OEM module version of the LoPy. Supports Wi-Fi, Bluetooth, and LoRa. FCC ID 2AJMTLOPY01R. |
| Pycom | L04 | (Not included.) | 8 | 4 | OEM module version of the LoPy4. Supports Wi-Fi, Bluetooth, LoRa, and Sigfox. |
| Pycom | S01 | (Not included.) | 8 | 4 | Discontinued. OEM module version of the SiPy. Supports Wi-Fi, Bluetooth, and Sigfox (14 dBm and 22 dBm). |
| Pycom | G01 | (Not included.) | 8 | 4 | OEM module version of the GPy. Supports Cellular LTE-CAT M1/NB1, Wi-Fi and Bluetooth. |
| u-blox | NINA-W131 | (Not included.) | 2 | 0 | Belongs to the u-blox NINA-W13 series of Wi-Fi modules. |
| u-blox | NINA-W132 | PIFA | 2 | 0 | Belongs to the u-blox NINA-W13 series of Wi-Fi modules. On board planar inverted-F antenna (PIFA) is shaped (cut & bent) metal, not a PCB trace. |

### Development and other boards

Development and break-out boards extend wiring and may add functionality, often building upon ESP32 module boards and making them easier to use for development purposes, especially with breadboards.
| Vendor | Name | Surface-mount module used | Description |
| Espressif | ESP_Module_Testboard | ESP-WROOM-03 | Break-out board included with ESP-WROOM-03 beta modules. |
| Espressif | ESP32_Demo Board_V2 | ESP-WROOM-32 | Development & demonstration board created by Espressif. |
| Espressif | ESP32-DevKitC | ESP32-WROOM-32, v4 comes with ESP32-WROOM-DA(Dual Antenna), ESP32-WROVER or ESP32-Solo (Single core variant) | Compact development board created by Espressif. Silkscreen labeling on PCB reads "Core Board". |
| Espressif | ESP-WROVER-KIT | ESP-WROOM-32 or ESP32-WROVER | Large development board created by Espressif. Previously named ESP32-DevKitJ. |
| Espressif | ESP32-PICO-KIT | ESP32-PICO-D4 | Small development board with Micro-USB and two header rows of 17 pins. FCC ID 2AC7Z-ESP32PICOKIT. |
| Adafruit | HUZZAH32 | ESP-WROOM-32 | Also referred to as the "ESP32 Feather Board", the HUZZAH32 is a compact development board/module that is compatible with the Adafruit Feather family of products. |
| Ai-Thinker | NodeMCU-32S | ESP-32S | NodeMCU-like development board. |
| Ai-Thinker | ESP32-CAM | ESP32-S | Compact (27 mm x 40.5 mm) board with ribbon cable Camera Serial Interface with support for 1600 x 1200 pixel OV2640 or 640 x 480 OV7670 camera. Has 9 usable IO pins and microSD card slot. |
| AnalogLamb | ESP32 Development Board | ESP-32S-ALB or ALB-WROOM | Development board similar to Espressif's ESP32-DevKitC with on board a CP2102 USB/serial bridge. 4 MiB variation uses ESP-32S-ALB; 16 MiB variation uses ALB-WROOM module. |
| AnalogLamb | Maple ESP32 | ESP-32S-ALB | Development board with Arduino-style connections and CP2104 USB/serial interface. |
| April Brother | ESPea32 | † | Development board with perfboard area that may be optionally cut-off. |
| ArduCAM | ESP32 UNO | ESP-32S | Arduino Uno-like development board based on ESP32 IoT UNO framework with support for SPI ArduCAM, battery pins and uSD card slot. |
| Arduino | Arduino Nano ESP32 | U-Blox NORA-W106-10B (based on ESP32-S3 IC) | Arduino Nano footprint |
| Banana pi | BPI:bit | ESP-32S | a development for Webduino and Arduino |
| Banana pi | BPI-UNO32 | ESP32-S | a development board for Arduino |
| DoIT | ESPduino32 | ESP-WROOM-32 | Full-featured Arduino Uno-like development board compatible with Arduino Shields. It also adds additional SPI & IO pins. The board is a clone of WeMos D1 R32 with a USB Type B socket. |
| DoIT | ESP32 DEVKIT V1 | ESP-WROOM-32 | The ESP32 DevKit V1 is probably the most popular among hobbyists and educators for its ease of use and versatility in various electronic projects. The pinout It's one of the most copied. |
| EzSBC | ESP32-01 Breakout and Development Board | ESP-WROOM-32 | Full-featured development board with two tri-color LEDs and fits on a breadboard. |
| Gravitech & MakerAsia | Nano32 | † | Development board that directly incorporates the ESP32 chip. |
| HydraBus | HydraESP32 | ESP-WROOM-32 or ESP-32S | HydraESP32 HydraBus v1.1 Rev1 shield/breakout board for ESP-WROOM-32 or ESP-32S. This shield can be used with or without a HydraBus board. |
| Noduino | Quantum | † | Arduino-style development board that directly incorporates the ESP32 chip. |
| Olimex | ESP32-Gateway | ESP32-WROOM32 | Wi-Fi/Bluetooth/Ethernet |
| Olimex | ESP32-DevKit-LiPo | ESP32-WROOM-32 | pin compatible with ESP32-CoreBoard, but adds Lipo charger and ability to work on LiPo. |
| Olimex | ESP32-POE-ISO | ESP32-WROOM-32/UE | Wi-Fi/Bluetooth/Ethernet development board with Power over Ethernet and 2W of isolated DC power |
| Olimex | ESP32-POE | ESP32-WROOM-32 | Wi-Fi/Bluetooth/Ethernet development board with Power over Ethernet |
| Olimex | ESP32-PRO | † | Wi-Fi/Bluetooth and PIC32MX270F256DT microcontroller and 32 Mb SPI flash and 32 Mb PSRAM. ESP32-PRO-C includes external crypto engine with ATECC508A |
| Olimex | ESP32-EVB | ESP32-WROOM32 | Wi-Fi/Bluetooth/Ethernet development board with MicroSD, CAN, IR, LiPo, and two relays. |
| Olimex | ESP32-ADF | ESP32-WROVER-B | audio development framework board with stereo microphones, speakers, audio output jack. |
| Pycom | WiPy | † | MicroPython programmable Wi-Fi & Bluetooth IoT development platform with a 1 km Wi-Fi range. WiPy versions 2.0 and 3.0 use ESP32. |
| Pycom | LoPy | † | Triple network Pycom board featuring LoRa, Wi-Fi (1 km range), and BLE. |
| Pycom | LoPy4 | ? | Quadruple network Pycom board featuring LoRa, Sigfox, Wi-Fi (1 km range), and BLE. |
| Pycom | SiPy | † | Triple network Pycom board featuring Sigfox, Wi-Fi (1 km range), and BLE. |
| Pycom | GPy | † | Triple network Pycom board featuring LTE-M, Wi-Fi (1 km range), and BLE. |
| Pycom | FiPy | † | Quintuple network Pycom board featuring LTE-M, LoRa, Sigfox, Wi-Fi (1 km range), and BLE. |
| SparkFun | ESP32 Thing | † | Compact development board with FTDI FT231x USB/serial interface and LiPo charger built-in. |
| SunDUINO | ESP32 MiniBoard | ESP-WROOM-32 | Breakout compatible with the Espressif ESP32-DevKitC. Lacks on-board USB-UART. |
| SunDUINO | ESP32 MiniBoard v2 | ESP32-Wrover-B/IB | Breakout board with Silabs CP2102, battery charger. Compatible with Espressif DEVkit. |
| SunDUINO | ESP32 SunDUINO | ESP-WROOM-32 or ESP-32S | Arduino-style development board. Lacks on-board USB-UART. |
| SwitchDoc Labs | BC24 | ESP-WROOM-32 | ESP32 Breakout with 24 SK6812RGBW LEDs with Grove Connectors for easy prototyping. Comes with USB-UART and Feather compatible pinout. |
| Watterott | ESP-WROOM32-Breakout | ESP-WROOM-32 | Breakout which is compatible with the Espressif ESP32-DevKitC. |
| WEMOS | LOLIN32 [Retired] | ESP-WROOM-32 | |
| WEMOS | LOLIN32 Lite [Retired] | † | ESP32-D0WDQ6 |
| WEMOS | LOLIN32 Pro [Retired] | ESP32-WROVER | MicroSD card slot (supports SD and SPI mode) |
| WEMOS | LOLIN D32 | ESP-WROOM-32 | |
| WEMOS | LOLIN D32 Pro | ESP32-WROVER | I2C port, TFT port and Micro SD Card slot (support SPI mode) |
| Widora | Air | † | Compact ESP32 development board. |
| MagicBit | Magic Bit Core | ESP-WROOM-32 | Compact ESP32 development board with displays and several sensors onboard to make learning embedded development convenient. |
† ESP32 SoC incorporated directly onto development board; no module board used.

## Programming

Programming languages, frameworks, platforms, and environments used for ESP32 programming:
* ESP-IDF – Espressif’s official IoT Development Framework for the ESP32, ESP32-S, ESP32-C and ESP32-H series of SoCs.
* Arduino-ESP32 – Arduino core for the ESP32, ESP32-S2, ESP32-S3 and ESP32-C3.
* Espruino – JavaScript SDK and firmware closely emulating Node.js
* MicroPython (and CircuitPython) – lean implementation of Python 3 for microcontrollers
* Mongoose OS – an operating system for connected products on microcontrollers; programmable with JavaScript or C. A recommended platform by Espressif Systems, AWS IoT, and Google Cloud IoT.
* mruby for the ESP32
* Nim for the ESP32
* NodeMCU – Lua-based firmware
* Rust
* Swift
* Visual Studio Code with the officially supported Espressif Integrated Development Framework (ESP-IDF) Extension
* Zerynth – Python for IoT and microcontrollers, including the ESP32
* Matlab Simulink

## Reception and use

Commercial, industrial and academic uses of ESP32:

### Use in commercial devices

* Alibaba Group's IoT LED wristband, used by participants at the group's 2017 annual gathering. Each wristband operated as a "pixel", receiving commands for coordinated LED light control, allowing formation of a "live and wireless" screen.
* DingTalk's M1, a biometric attendance-tracking system.
* Pium, a home fragrance and aromatherapy device.
* HardKernel's Odroid Go, an ESP32 based handheld gaming device kit made to commemorate Odroid's 10th anniversary.
* Playdate, a handheld video game console jointly developed by Panic Inc. and Teenage Engineering.
* Octopus Energy Mini, an ESP32-C6 based real-time energy monitor.
* Mysa smart thermostats, based on ESP32-WROOM.

### Use in industrial devices

* TECHBASE's Moduino X series X1 and X2 modules are ESP32-WROVER / ESP32-WROVER-B based computers for industrial automation and monitoring, supporting digital inputs/outputs, analog inputs, and various computer networking interfaces.
* NORVI IIOT Industrial Devices with ESP32-WROVER / ESP32-WROVER-B SOC for industrial automation and monitoring with digital inputs, analog inputs, relay outputs and multiple communications interfaces. Supports LoRa and Nb-IoT as expansion modules.

### Academic uses

* ESP32 devices are utilized in educational settings and academic research projects. For example, these devices have been used to develop a smart home system designed to monitor and control the charging of electric vehicles, considering the current consumption of other electrical appliances and the contracted power capacity. Additionally, ESP32 is used in DIY projects such as building low-cost drones.

## Undocumented HCI Commands in ESP32

In March 2025, researchers from Tarlogic Security identified undocumented Host Controller Interface (HCI) commands in the ESP32 Bluetooth firmware, prompting discussions about their functionality and potential implications. This discovery was presented on March 6, 2025, at the RootedCON conference by the Tarlogic Security team.
The identified commands, such as Write Memory (0xFC02), are vendor-specific HCI commands used primarily for debugging and testing purposes. These types of commands are common in Bluetooth controller implementations to assist with development and troubleshooting. They are not part of the standard HCI command set and are typically used in controlled environments. While initially described as a "backdoor," further clarifications labeled them as "undocumented debugging features." These commands are not accessible remotely via standard Bluetooth connections but could be interacted with if an entity has physical access to the device or operates in an HCI-UART configuration.
Espressif Systems provided clarification regarding these commands, stating that they are intended for debugging and do not pose a security risk under normal operating conditions. The company emphasized that these commands cannot be triggered remotely and are not used in standard Bluetooth operations. These commands are present only in ESP32 chips and are not included in the ESP32-C, ESP32-S, and ESP32-H series. To address concerns raised within the security community, Espressif announced that future versions of the ESP-IDF would include updates to restrict access to these debugging commands and improve documentation for vendor-specific HCI commands. These actions aim to provide additional transparency and ensure developers are well-informed about available functionalities.