ESP32
   HOME

TheInfoList



OR:

ESP32 is a series of low-cost, low-power
system on a chip A system on a chip or system-on-chip (SoC ; pl. ''SoCs'' ) is an integrated circuit that integrates most or all components of a computer or other electronic system. These components almost always include a central processing unit (CPU), memory ...
microcontroller A microcontroller (MCU for ''microcontroller unit'', often also MC, UC, or μC) is a small computer on a single VLSI integrated circuit (IC) chip. A microcontroller contains one or more CPUs (processor cores) along with memory and programmable i ...
s with integrated
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 local area networking of devices and Internet access, allowing nearby digital devices to exchange data by radio wave ...
and dual-mode
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 limi ...
. The ESP32 series employs either a
Tensilica Tensilica was a company based in Silicon Valley in the semiconductor intellectual property core business. It is now a part of Cadence Design Systems. Tensilica is known for its customizable Xtensa microprocessor core. Other products include: HiF ...
Xtensa LX6 microprocessor in both dual-core and
single-core A single-core processor is a microprocessor with a single core on its die. It performs the Instruction cycle, fetch-decode-execute cycle once per clock-cycle, as it only runs on one thread. A computer using a single core CPU is generally slower than ...
variations, Xtensa LX7 dual-core microprocessor or a
single-core A single-core processor is a microprocessor with a single core on its die. It performs the Instruction cycle, fetch-decode-execute cycle once per clock-cycle, as it only runs on one thread. A computer using a single core CPU is generally slower than ...
RISC-V RISC-V (pronounced "risk-five" where five refers to the number of generations of RISC architecture that were developed at the University of California, Berkeley since 1981) is an open standard instruction set architecture (ISA) based on estab ...
microprocessor and includes built-in antenna switches, RF
balun A balun (from "balanced to unbalanced", originally, but now dated 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 balun c ...
, power amplifier, low-noise receive amplifier, filters, and power-management modules. ESP32 is created and developed by Espressif Systems, a Shanghai-based Chinese company, and is manufactured by
TSMC Taiwan Semiconductor Manufacturing Company Limited (TSMC; also called Taiwan Semiconductor) is a Taiwanese multinational corporation, multinational semiconductor contract manufacturing and design company. It is the world's most valuable semicon ...
using their 40 nm process. It is a successor to the
ESP8266 The ESP8266 is a low-cost Wi-Fi microchip, with built-in TCP/IP stack, TCP/IP networking software, and microcontroller capability, produced by Espressif Systems in Shanghai, China. The chip was popularized in the English-speaking maker culture ...
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 Dhrystone is a synthetic computing benchmark program developed in 1984 by Reinhold P. Weicker intended to be representative of system (integer) programming. The Dhrystone grew to become representative of general processor (CPU) performance. The ...
** Ultra low power (ULP) co-processor * Memory: 320 KiB RAM, 448 KiB ROM * Wireless connectivity: ** Wi-Fi:
802.11 IEEE 802.11 is part of the IEEE 802 set of local area network (LAN) technical standards, and specifies the set of media access control (MAC) and physical layer (PHY) protocols for implementing wireless local area network (WLAN) computer commu ...
b/g/n ** Bluetooth: v4.2 BR/EDR and BLE (shares the radio with Wi-Fi) * Peripheral interfaces: ** 34 × programmable
GPIO A general-purpose input/output (GPIO) is an uncommitted digital signal pin on an integrated circuit or electronic circuit (e.g. MCUs/ MPUs ) board which may be used as an input or output, or both, and is controllable by software. GPIOs have no ...
s ** 12-bit SAR ADC up to 18 channels ** 2 × 8-bit DACs ** 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 sen ...
GPIOs) ** 4 × SPI ** 2 ×
I²S I²S (Inter-IC Sound, pronounced "eye-squared-ess"), is an electrical serial bus interface standard used for connecting digital audio devices together. It is used to communicate PCM audio data between integrated circuits in an electronic devic ...
interfaces ** 2 ×
I²C I2C (Inter-Integrated Circuit, ), alternatively known as I2C or IIC, is a synchronous, multi-controller/multi-target (master/slave), packet switched, single-ended, serial communication bus invented in 1982 by Philips Semiconductors. It is wide ...
interfaces ** 3 ×
UART A universal asynchronous receiver-transmitter (UART ) is a computer hardware 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 significan ...
** SD/ SDIO/
CE-ATA Consumer Electronics ATA (CE-ATA) is an interface standard for the connection of storage devices and hosts in consumer electronic device such as mobile and handheld devices. One of the primary goals is to standardize connections for small form fact ...
/ MMC/
eMMC The 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 subs ...
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 (CAN bus) is a robust vehicle bus standard designed to allow microcontrollers and devices to communicate with each other's applications without a host computer. It is a message-based protocol, designed originally for mu ...
2.0 ** Infrared remote controller (TX/RX, up to 8 channels) ** Pulse counter (capable of full quadrature decoding) ** Motor PWM ** LED PWM (up to 16 channels) **
Hall effect sensor A Hall effect sensor (or simply Hall sensor) is a type of sensor which detects the presence and magnitude of a magnetic field using the Hall effect. The output voltage of a Hall sensor is directly proportional to the strength of the field. ...
** Ultra low power analog pre-amplifier * Security: ** IEEE 802.11 standard security features all supported, including
WPA WPA may refer to: Computing *Wi-Fi Protected Access, a wireless encryption standard *Windows Product Activation, in Microsoft software licensing * Wireless Public Alerting (Alert Ready), emergency alerts over LTE in Canada * Windows Performance An ...
, WPA2, WPA3 (depending on version) and
WLAN Authentication and Privacy Infrastructure WLAN Authentication and Privacy Infrastructure (WAPI) is a Chinese National Standard for Wireless LANs (GB 15629.11-2003). Although it was allegedly designed to operate on top of Wi-Fi, compatibility with the security protocol used by the 802.11 w ...
(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 compared to non-EC cryptography (based on plain Galois fields) to provide e ...
(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 that cannot be reasonably predicted better than by random chance is generated. This means that the particular out ...
(RNG) * Power management: ** Internal
low-dropout regulator A low-dropout regulator (LDO regulator) is a DC linear voltage regulator that can regulate the output voltage even when the supply voltage is very close to the output voltage. The advantages of an LDO regulator over other DC-to-DC voltage regul ...
** 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). See also https://gist.github.com/sekcompsci/2bf39e715d5fe47579fa184fa819f421


ESP32

* Xtensa® single-/dual-core 32-bit LX6 microprocessor(s) * 34 × programmable GPIOs * 12-bit SAR ADC up to 18 channels


ESP32-S2

* Single-core Xtensa LX7 CPU, up to 240 MHz * 320 KiB SRAM, 128 KiB ROM, and 16 KiB RTC SRAM * WiFi 2.4 GHz (IEEE 802.11b/g/n) * No Bluetooth * 43 programmable GPIOs * 2 × 13-bit SAR ADCs, up to 20 channels *
USB OTG USB On-The-Go (USB OTG or just OTG) is a specification first used in late 2001 that allows USB devices, such as tablets or smartphones, to act as a host, allowing other USB devices, such as USB flash drives, digital cameras, mouse or keyboards ...


ESP32-C3

* Single-core 32-bit
RISC-V RISC-V (pronounced "risk-five" where five refers to the number of generations of RISC architecture that were developed at the University of California, Berkeley since 1981) is an open standard instruction set architecture (ISA) based on estab ...
CPU, up to 160 MHz * 400 KiB SRAM, 384 KiB ROM, and 8 KiB RTC SRAM * WiFi 2.4 GHz (IEEE 802.11b/g/n) * Bluetooth 5 (LE) * 22 programmable GPIOs * 2 ADC-12bit *
Pin compatible In electronics, pin-compatible devices are electronic components, generally integrated circuits or expansion cards, sharing a common footprint and with the same functions assigned or usable on the same pins. Pin compatibility is a property desir ...
with
ESP8266 The ESP8266 is a low-cost Wi-Fi microchip, with built-in TCP/IP stack, TCP/IP networking software, and microcontroller capability, produced by Espressif Systems in Shanghai, China. The chip was popularized in the English-speaking maker culture ...


ESP32-S3

* Dual-core Xtensa LX7 CPU, up to 240 MHz ** Added instructions to accelerate machine learning applications * 512 KiB SRAM, 384 KiB ROM, and 16 KiB RTC SRAM * WiFi 2.4 GHz (IEEE 802.11 b/g/n) * Bluetooth 5 (LE) * 44 programmable GPIOs * 2 × 12-bit SAR ADCs, up to 20 channels *
USB OTG USB On-The-Go (USB OTG or just OTG) is a specification first used in late 2001 that allows USB devices, such as tablets or smartphones, to act as a host, allowing other USB devices, such as USB flash drives, digital cameras, mouse or keyboards ...


Announced


ESP32-C5

* Single-core 32-bit
RISC-V RISC-V (pronounced "risk-five" where five refers to the number of generations of RISC architecture that were developed at the University of California, Berkeley since 1981) is an open standard instruction set architecture (ISA) based on estab ...
CPU, up to 240 MHz * 400 KiB SRAM and 384 KiB ROM *
IEEE 802.11ax IEEE 802.11ax, officially marketed by the Wi-Fi Alliance as (2.4 GHz and 5 GHz) and (6 GHz), is an IEEE standard for wireless local-area networks (WLANs) and the successor of 802.11ac. It is also known as ''High Efficiency'' , fo ...
(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 * Bluetooth 5 (LE) * > 20 programmable GPIOs


ESP32-C6

* Single-core 32-bit
RISC-V RISC-V (pronounced "risk-five" where five refers to the number of generations of RISC architecture that were developed at the University of California, Berkeley since 1981) is an open standard instruction set architecture (ISA) based on estab ...
CPU, up to 160 MHz * 512 KiB SRAM and 384 KiB ROM *
IEEE 802.11ax IEEE 802.11ax, officially marketed by the Wi-Fi Alliance as (2.4 GHz and 5 GHz) and (6 GHz), is an IEEE standard for wireless local-area networks (WLANs) and the successor of 802.11ac. It is also known as ''High Efficiency'' , fo ...
(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 which 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 othe ...
) * Bluetooth 5 (LE) * 22 programmable GPIOs


ESP32-H2

* Single-core 32-bit
RISC-V RISC-V (pronounced "risk-five" where five refers to the number of generations of RISC architecture that were developed at the University of California, Berkeley since 1981) is an open standard instruction set architecture (ISA) based on estab ...
CPU, up to 96 MHz * 256 KB SRAM *
IEEE 802.15.4 IEEE 802.15.4 is a technical standard which 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 othe ...
) * Bluetooth 5 (LE) * 26 programmable 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 or system-on-chip (SoC ; pl. ''SoCs'' ) is an integrated circuit that integrates most or all components of a computer or other electronic system. These components almost always include a central processing unit (CPU), 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.


Module

The ESP32-PICO-D4
system in package A system in a package (SiP) or system-in-package is a number of integrated circuits enclosed in one or more chip carrier packages that may be stacked using package on package. The SiP performs all or most of the functions of an electronic system ...
module combines 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. In 2020, a similar module ESP32-PICO-V3 was introduced which is based on the ESP32 ECO V3.


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 printed wiring board or PWB) is a medium used in Electrical engineering, electrical and electronic engineering to connect electronic components to one another in a controlled manner. It takes the form of a L ...
modules directly contain the ESP32 SoC and are designed to be easily integrated onto other circuit boards. Meandered
inverted-F antenna An inverted-F antenna is a type of antenna used in wireless communication, mainly at UHF and microwave frequencies. It consists of a monopole antenna running parallel to a ground plane and grounded at one end. The antenna is fed from an int ...
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 & 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 ...
s). † ESP32 SoC incorporated directly onto development board; no module board used.


Programming

Programming languages, frameworks, platforms, and environments used for ESP32 programming: *
Arduino IDE Arduino () is an open-source hardware and software company, project, and user community that designs and manufactures single-board microcontrollers and microcontroller kits for building digital devices. Its hardware products are licensed under ...
with the ESP32 Arduino Core *
Espruino Espruino is an open-source JavaScript interpreter for single board microcontrollers. It is designed for devices with small amounts of RAM (as low as 8kB). Overview Espruino was created by Gordon Williams in 2012 as an attempt to make microcontr ...
– JavaScript SDK and firmware closely emulating
Node.js Node.js is an open-source server environment. Node.js is cross-platform and runs on Windows, Linux, Unix, and macOS. Node.js is a back-end JavaScript runtime environment. Node.js runs on the V8 JavaScript Engine and executes JavaScript code ou ...
*
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 of ...
(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 Python 3 programmin ...
) – lean implementation of Python 3 for microcontrollers * Lua Network/IoT toolkit for ESP32-Wrover *
Mongoose OS Mongoose OS is an Internet of Things (IoT) Firmware Development Framework available under Apache License Version 2.0. It supports low power, connected microcontrollers such as: ESP32, ESP8266, TI CC3200, TI CC3220, STM32 (STM32L4, STM32F4, STM32F7 ...
– 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 mruby is an interpreter for the Ruby programming language with the intention of being lightweight and easily embeddable. The project is headed by Yukihiro Matsumoto, with over 100 contributors currently working on the project. Features mruby 1.0 ...
for the ESP32 *
NodeMCU NodeMCU is a low-cost open source IoT platform. It initially included firmware which runs on the ESP8266 Wi-Fi SoC from Espressif Systems, and hardware which was based on the ESP-12 module. Later, support for the ESP32 32-bit MCU was added. O ...
Lua Lua or LUA may refer to: Science and technology * Lua (programming language) * Latvia University of Agriculture * Last universal ancestor, in evolution Ethnicity and language * Lua people, of Laos * Lawa people, of Thailand sometimes referred t ...
-based firmware * PlatformIO *
Visual Studio Code Visual Studio Code, also commonly referred to as VS Code, is a source-code editor made by Microsoft with the Electron Framework, for Windows, Linux and macOS. Features include support for debugging, syntax highlighting, intelligent code complet ...
with the officially supported Espressif Integrated Development Framework (ESP-IDF) Extension *
Zerynth Zerynth is a software implementation of the Python programming language for programming microcontrollers. It targets 32-bit microcontroller platforms and is designed to mix Python with C code. It connects the microcontrollers to the Cloud for de ...
– Python for IoT and microcontrollers, including the ESP32


Reception and use

Commercial and industrial use 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. *
LIFX LIFX (pronounced Life-X) is a line of energy-efficient, multi-color, Wi-Fi enabled, digital addressable LED light bulbs that can be controlled via a Wi-Fi equipped device such as a smartphone or smartwatch. History LIFX was originally manufact ...
Mini, a series of remotely controllable, LED based light bulbs. * Pium, a home fragrance and aromatherapy device. * HardKernel's
Odroid The ODROID is a series of single-board computers and tablet computers created by Hardkernel Co., Ltd., located in South Korea. Even though the name ''ODROID'' is a portmanteau of ''open'' + ''Android'', the hardware is not actually open because s ...
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. Panic Inc. is an American software and video game company based in Portland, Oregon. The company specializes in macOS and iOS applications and began publishing video games in 2016. Panic was founded by Steven Frank and Cabel Sasser. Products ...
and
Teenage Engineering Teenage Engineering is a Swedish consumer electronics company and manufacturer founded in 2005 by Jesper Kouthoofd, David Eriksson, Jens Rudberg and David Möllerstedt and based in Stockholm Stockholm () is the Capital city, capital and Li ...
.


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.


See also

*
Internet of things The Internet of things (IoT) describes physical objects (or groups of such objects) with sensors, processing ability, software and other technologies that connect and exchange data with other devices and systems over the Internet or other comm ...


References

{{Reflist


External links


Espressif ESP32 Overview

Espressif ESP32 Resources

Espressif ESP-IDF Programming Guide

Espressif ESP32 Forums
Microcontrollers Microprocessors made in China