ESP32 is a family of low-cost, energy-efficient
microcontroller
A microcontroller (MC, uC, or μC) or microcontroller unit (MCU) is a small computer on a single integrated circuit. A microcontroller contains one or more CPUs (processor cores) along with memory and programmable input/output peripherals. Pro ...
s that integrate both
Wi-Fi
Wi-Fi () is a family of wireless network protocols based on the IEEE 802.11 family of standards, which are commonly used for Wireless LAN, local area networking of devices and Internet access, allowing nearby digital devices to exchange data by ...
and
Bluetooth
Bluetooth is a short-range wireless technology standard that is used for exchanging data between fixed and mobile devices over short distances and building personal area networks (PANs). In the most widely used mode, transmission power is li ...
capabilities. These chips feature a variety of processing options, including the
Tensilica Xtensa LX6 microprocessor available in both dual-core and single-core variants, the Xtensa LX7 dual-core processor, or a single-core
RISC-V
RISC-V (pronounced "risk-five") is an open standard instruction set architecture (ISA) based on established reduced instruction set computer (RISC) principles. The project commenced in 2010 at the University of California, Berkeley. It transfer ...
microprocessor. In addition, the ESP32 incorporates components essential for wireless data communication such as built-in antenna switches, an RF
balun
A balun (from "balanced to unbalanced", originally, but now derived from "balancing unit") is an electrical device that allows balanced and unbalanced lines to be interfaced without disturbing the impedance arrangement of either line. A ba ...
, power amplifiers, low-noise receivers, filters, and power-management modules.
Typically, the ESP32 is embedded on device-specific printed circuit boards or offered as part of development kits that include a variety of
GPIO pins and connectors, with configurations varying by model and manufacturer. The ESP32 was designed by
Espressif Systems and is manufactured by
TSMC
Taiwan Semiconductor Manufacturing Company Limited (TSMC or Taiwan Semiconductor) is a Taiwanese multinational semiconductor contract manufacturing and design company. It is one of the world's most valuable semiconductor companies, the world' ...
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
In electrical engineering, capacitive sensing (sometimes capacitance sensing) is a technology, based on capacitive coupling, that can detect and measure anything that is conductive or has a dielectric constant different from air. Many types of sens ...
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
Inter-Integrated Circuit Sound (I²S, pronounced "eye-squared-ess") is a serial interface protocol for transmitting two-channel, digital audio as pulse-code modulation (PCM) between integrated circuit (IC) components of an electronic device. ...
interfaces
*** 2 ×
I²C
I2C (Inter-Integrated Circuit; pronounced as "" or ""), alternatively known as I2C and IIC, is a synchronous, multi-master/multi-slave, single-ended, serial communication bus invented in 1980 by Philips Semiconductors (now NXP Semiconduct ...
interfaces
*** 3 ×
UART
A universal asynchronous receiver-transmitter (UART ) is a peripheral device for asynchronous serial communication in which the data format and transmission speeds are configurable. It sends data bits one by one, from the least significant to ...
***
SD/
SDIO/
CE-ATA/
MMC/
eMMC
MultiMediaCard, officially abbreviated as MMC, is a memory card standard used for solid-state storage. Unveiled in 1997 by SanDisk and Siemens, MMC is based on a surface-contact low-pin-count serial interface using a single memory stack subst ...
host controller
*** SDIO/SPI slave controller
***
Ethernet
Ethernet ( ) is a family of wired computer networking technologies commonly used in local area networks (LAN), metropolitan area networks (MAN) and wide area networks (WAN). It was commercially introduced in 1980 and first standardized in 198 ...
MAC interface with dedicated DMA and planned
IEEE 1588 Precision Time Protocol support
***
CAN bus
A controller area network bus (CAN bus) is a vehicle bus standard designed to enable efficient communication primarily between electronic control units (ECUs). Originally developed to reduce the complexity and cost of electrical wiring in auto ...
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
SHA-2 (Secure Hash Algorithm 2) is a set of cryptographic hash functions designed by the United States National Security Agency (NSA) and first published in 2001. They are built using the Merkle–Damgård construction, from a one-way compression ...
,
RSA,
elliptic curve cryptography
Elliptic-curve cryptography (ECC) is an approach to public-key cryptography based on the algebraic structure of elliptic curves over finite fields. ECC allows smaller keys to provide equivalent security, compared to cryptosystems based on modula ...
(ECC),
random number generator
Random number generation is a process by which, often by means of a random number generator (RNG), a sequence of numbers or symbols is generated that cannot be reasonably predicted better than by random chance. This means that the particular ou ...
(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 20 MHz)
* 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
Single-precision floating-point format (sometimes called FP32 or float32) is a computer number format, usually occupying 32 bits in computer memory; it represents a wide dynamic range of numeric values by using a floating radix point.
A floati ...
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
Flash, flashes, or FLASH may refer to:
Arts, entertainment, and media
Fictional aliases
* The Flash, several DC Comics superheroes with super speed:
** Flash (Jay Garrick)
** Barry Allen
** Wally West, the first Kid Flash and third adult Flash ...
via Quad SPI or Octal SPI, and share the same 32 MiB address space
In computing, an address space defines a range of discrete addresses, each of which may correspond to a network host, peripheral device, disk sector, a memory cell or other logical or physical entity.
For software programs to save and retrieve ...
* Ultra-low-power RISC-V
RISC-V (pronounced "risk-five") is an open standard instruction set architecture (ISA) based on established reduced instruction set computer (RISC) principles. The project commenced in 2010 at the University of California, Berkeley. It transfer ...
(RV32IMC) coprocessor clocked at 17.5 MHz approximately
* Ultra-low-power FSM coprocessor similar to previous ESP32 and ESP32-S2
ESP32 is a family of low-cost, energy-efficient microcontrollers that integrate both Wi-Fi and Bluetooth capabilities. These chips feature a variety of processing options, including the Tensilica Xtensa LX6 microprocessor available in both dual-c ...
* 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
RISC-V (pronounced "risk-five") is an open standard instruction set architecture (ISA) based on established reduced instruction set computer (RISC) principles. The project commenced in 2010 at the University of California, Berkeley. It transfer ...
single-core processor that operates at up to 120 MHz, implementing RV32IMC ISA
* 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
RISC-V (pronounced "risk-five") is an open standard instruction set architecture (ISA) based on established reduced instruction set computer (RISC) principles. The project commenced in 2010 at the University of California, Berkeley. It transfer ...
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
RISC-V (pronounced "risk-five") is an open standard instruction set architecture (ISA) based on established reduced instruction set computer (RISC) principles. The project commenced in 2010 at the University of California, Berkeley. It transfer ...
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
IEEE 802.15.4 is a technical standard that defines the operation of a low-rate wireless personal area network (LR-WPAN). It specifies the physical layer and media access control for LR-WPANs, and is maintained by the IEEE 802.15 working group, ...
( Thread + Zigbee
Zigbee is an IEEE 802.15.4-based specification for a suite of high-level communication protocols used to create personal area networks with small, low-power digital radios, such as for home automation, medical device data collection, and oth ...
)
* Bluetooth 5.3 (LE)
* 30 (QFN40) or 22 (QFN32) GPIOs
* USB device
ESP32-H2
* Single-core 32-bit RISC-V
RISC-V (pronounced "risk-five") is an open standard instruction set architecture (ISA) based on established reduced instruction set computer (RISC) principles. The project commenced in 2010 at the University of California, Berkeley. It transfer ...
CPU, up to 96 MHz
* 256 KB SRAM
* IEEE 802.15.4
IEEE 802.15.4 is a technical standard that defines the operation of a low-rate wireless personal area network (LR-WPAN). It specifies the physical layer and media access control for LR-WPANs, and is maintained by the IEEE 802.15 working group, ...
( Thread + Zigbee
Zigbee is an IEEE 802.15.4-based specification for a suite of high-level communication protocols used to create personal area networks with small, low-power digital radios, such as for home automation, medical device data collection, and oth ...
)
* Bluetooth 5.3 (LE)
* No Wi-Fi support
* 19 GPIOs
* USB device
Announced
ESP32-C5
* Single-core 32-bit RISC-V
RISC-V (pronounced "risk-five") is an open standard instruction set architecture (ISA) based on established reduced instruction set computer (RISC) principles. The project commenced in 2010 at the University of California, Berkeley. It transfer ...
CPU, up to 240 MHz
* Low-power 32-bit RISC-V CPU, up to 40 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
IEEE 802.15.4 is a technical standard that defines the operation of a low-rate wireless personal area network (LR-WPAN). It specifies the physical layer and media access control for LR-WPANs, and is maintained by the IEEE 802.15 working group, ...
( Thread + Zigbee
Zigbee is an IEEE 802.15.4-based specification for a suite of high-level communication protocols used to create personal area networks with small, low-power digital radios, such as for home automation, medical device data collection, and oth ...
)
* Bluetooth 5 (LE)
* Over 20 GPIOs
ESP32-P4
* High performance dual-core 32-bit RISC-V
RISC-V (pronounced "risk-five") is an open standard instruction set architecture (ISA) based on established reduced instruction set computer (RISC) principles. The project commenced in 2010 at the University of California, Berkeley. It transfer ...
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
RISC-V (pronounced "risk-five") is an open standard instruction set architecture (ISA) based on established reduced instruction set computer (RISC) principles. The project commenced in 2010 at the University of California, Berkeley. It transfer ...
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.
* No Wi-Fi or Bluetooth
* 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
A system on a chip (SoC) is an integrated circuit that combines most or all key components of a computer or Electronics, electronic system onto a single microchip. Typically, an SoC includes a central processing unit (CPU) with computer memory, ...
integrated circuit is packaged in both 6 mm × 6 mm and 5 mm × 5 mm sized QFN packages.
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
A system in a package (SiP) or system-in-package is a number of integrated circuits (ICs) enclosed in one chip carrier package or encompassing an IC package substrate that may include passive components and perform the functions of an entire sys ...
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.
Printed circuit boards
Surface-mount module boards
ESP32 based surface-mount
Surface-mount technology (SMT), originally called planar mounting, is a method in which the electrical components are mounted directly onto the surface of a printed circuit board (PCB). An electrical component mounted in this manner is referred ...
printed circuit board
A printed circuit board (PCB), also called printed wiring board (PWB), is a Lamination, laminated sandwich structure of electrical conduction, conductive and Insulator (electricity), insulating layers, each with a pattern of traces, planes ...
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).
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 breadboard
A breadboard, solderless breadboard, or protoboard is a construction base used to build semi-permanent prototypes of electronic circuits. Unlike a perfboard or stripboard, breadboards do not require soldering or destruction of tracks and are h ...
s.
† 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
MicroPython is a software implementation of a programming language largely compatible with Python 3, written in C, that is optimized to run on a microcontroller.
MicroPython consists of a Python compiler to bytecode and a runtime interpreter o ...
(and CircuitPython
CircuitPython is an open-source derivative of the MicroPython programming language targeted toward students and beginners. Development of CircuitPython is supported by Adafruit Industries. It is a software implementation of the programming langua ...
) – 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
Rust is an iron oxide, a usually reddish-brown oxide formed by the reaction of iron and oxygen in the catalytic presence of water or air moisture. Rust consists of hydrous iron(III) oxides (Fe2O3·nH2O) and iron(III) oxide-hydroxide (FeO(OH) ...
* Swift
Swift or SWIFT most commonly refers to:
* SWIFT, an international organization facilitating transactions between banks
** SWIFT code
* Swift (programming language)
* Swift (bird), a family of birds
It may also refer to:
Organizations
* SWIF ...
* Visual Studio Code
Visual Studio Code, commonly referred to as VS Code, is an integrated development environment developed by Microsoft for Windows, Linux, macOS and web browsers. Features include support for debugging, syntax highlighting, intelligent code comp ...
with the officially supported Espressif Integrated Development Framework (ESP-IDF) Extension
* Zerynth – Python for IoT and microcontrollers, including the ESP32
* Matlab Simulink
Simulink is a MATLAB-based graphical programming environment for modeling, simulating and analyzing multidomain dynamical systems. Its primary interface is a graphical block diagramming tool and a customizable set of block libraries. It offe ...
Reception and use
Commercial, industrial and academic uses of ESP32:
Use in commercial devices
* Alibaba Group
Alibaba Group Holding Limited, branded as Alibaba (), is a Chinese Multinational corporation, multinational technology company specializing in E-commerce in China, e-commerce, retail, Internet, and technology. Founded on 28 June 1999 in Hangzho ...
'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.
See also
* Internet of things
Internet of things (IoT) describes devices with sensors, processing ability, software and other technologies that connect and exchange data with other devices and systems over the Internet or other communication networks. The IoT encompasse ...
Collection of Latest ESP32 Projects
References
{{Reflist
External links
Espressif ESP32 Overview
Espressif ESP32 Resources
Espressif ESP-IDF Programming Guide
Espressif ESP32 Forums
* https://gist.github.com/sekcompsci/2bf39e715d5fe47579fa184fa819f421
Microcontrollers
Microprocessors made in China