Low-cost, low-power SoC microcontrollers with Bluetooth and Wi-Fi
ESP32 is a series of low-cost, low-power system on a chipmicrocontrollers 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-coreRISC-V microprocessor and includes built-in antenna switches, RF balun, power amplifier, low-noise receive amplifier, filters, and power-management modules. ESP32 is created and developed by Espressif Systems, a Chinese company based in Shanghai, and is manufactured by TSMC using their 40 nm process.[2] It is a successor to the ESP8266 microcontroller.
Features
Features of the ESP32 include the following:[3]
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
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
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.
More than 50 programmable GPIOs[17]
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.
In 2020, chips ESP32-D0WDQ6 and ESP32-D0WD also got a V3 version (ESP32 ECO V3), which fixes some of the bugs[18] 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.[19]
Later, in 2020, the ESP32-PICO-V3 and ESP32-PICO-V3-02 modules were introduced both based on the ESP32 ECO V3 wafer.[20][21]
In 2022 the ESP32-S3-PICO-1 module was introduced with USB OTG and internal PSRAM.[22]
Printed circuit boards
Surface-mount module boards
ESP32 based surface-mountprinted 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).
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 breadboards).
† ESP32 SoC incorporated directly onto development board; no module board used.
Programming
Programming languages, frameworks, platforms, and environments used for ESP32 programming:
ESP-IDF[65][66] – Espressif’s official IoT Development Framework for the ESP32, ESP32-S, ESP32-C and ESP32-H series of SoCs.
Arduino-ESP32[67] – Arduino core for the ESP32, ESP32-S2, ESP32-S3 and ESP32-C3.
Espruino – JavaScript SDK and firmware closely emulating Node.js
Mongoose OS – an operating system for connected products on microcontrollers; programmable with JavaScript or C. A recommended platform by Espressif Systems,[68] AWS IoT,[69] and Google Cloud IoT.[70]
Visual Studio Code with the officially supported Espressif Integrated Development Framework (ESP-IDF) Extension[74]
Zerynth – Python for IoT and microcontrollers, including the ESP32
Matlab
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.[75]
DingTalk's M1, a biometric attendance-tracking system.[76]
LIFX Mini, a series of remotely controllable, LED based light bulbs.[77]
Pium, a home fragrance and aromatherapy device.[78]
HardKernel's Odroid Go, an ESP32 based handheld gaming device kit made to commemorate Odroid's 10th anniversary.[79]
Octopus Energy Mini, an ESP32-C6 based real-time energy monitor.[80]
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.[81]
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.[82]
Academic uses
ESP32 devices are utilized in educational settings [83] 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. [84]
^Landsmeer, Lennart (2021-04-08). "No, the ESP32-S2 is not faster at floating point operations (and how do you actually speed up division on the ESP32?)". The Weekend Writeup.
^ a b"ESP32-S2_datasheet" (PDF). Espressif. 2021-06-02.
^Lewis, James (2021-01-01). "Espressif's New ESP32-S3 Adds AI Features for IoT Devices".
^"ESP32-C5 2.4 and 5 GHz Dual-band Wi-Fi 6 MCU". www.espressif.com. Retrieved 12 September 2024.
^"Espressif Reveals ESP32-P4: A High-Performance MCU with Numerous IO-Connectivity and Security Features | Espressif Systems". www.espressif.com. Retrieved 2023-01-08.
^Espressif (2020-09-25). "Eco workarounds and bugs in ESP32" (PDF). Retrieved 2022-04-06.
^"ESP32-PICO-D4 Datasheet (v.2.0)" (PDF). Espressif. April 2022.
^"ESP32-PICO-V3 Datasheet (v.1.3)" (PDF). Espressif. 29 March 2022.
^"ESP32-PICO-V3-02 Datasheet (v.1.0)" (PDF). Espressif. 1 September 2021.
^"ESP32-S3-PICO-1 (v.1.0)" (PDF). Espressif. 21 August 2023.
^Espressif Systems (2017-08-21). "ESP32-PICO-D4 Datasheet" (PDF). Retrieved 2017-07-21.
^ a bJim Lindblom (2016-01-21). "Enginursday: First Impressions of the ESP32". Sparkfun Electronics. Retrieved 2016-09-01.
^ a bLimor Fried (2015-12-22). Playing With New ESP32 Beta Module. Adafruit Industries. Retrieved 2016-09-02.
^"ESP32 Camera Demo". Ivan Grokhotkov. 2016-11-28. Retrieved 2016-12-02.
^ESP32.net (2016-10-28). "Ai-Thinker NodeMCU-32S Development Board Appears on AliExpress". Retrieved 2016-10-28.{{cite web}}: CS1 maint: numeric names: authors list (link)
^"ESP32-CAM camera development board | 安信可科技". docs.ai-thinker.com. Retrieved 2022-07-05.
^"ESP32 Development Board – Developer Edition". AnalogLamb. Archived from the original on 2020-09-20. Retrieved 2017-10-08.
^"Maple ESP32 – ESP32 Board with Micro SD Interface, USB to USART & Compatible with Arduino Interface". AnalogLamb. Archived from the original on 2020-09-18. Retrieved 2017-10-08.
^ESP32 UNO by ArduCam (9 August 2019). "Arduino Uno-like development board".{{cite web}}: CS1 maint: numeric names: authors list (link)
^"DOIT ESP32 DEV KIT v1 high-resolution pinout and specs". Mischianti. 17 February 2021.
^"BC24 / ESP32 Development Board – Big Circle 24". SwitchDoc Labs. Archived from the original on 2021-05-08. Retrieved 2018-06-26.
^"Products [WEMOS Electronics]". Archived from the original on 2018-01-25. Retrieved 2018-01-25.
^"LOLIN32 (Retired) [WEMOS Electronics]". wiki.wemos.cc. Archived from the original on 2018-11-14. Retrieved 2018-11-13.
^"LOLIN32 Lite (Retired) [WEMOS Electronics]". wiki.wemos.cc. Archived from the original on 2018-11-14. Retrieved 2018-11-13.
^"LOLIN32 Pro (Retired) [WEMOS Electronics]". wiki.wemos.cc. Archived from the original on 2018-11-14. Retrieved 2018-11-13.
^"D32 [WEMOS Electronics]". wiki.wemos.cc. Archived from the original on 2018-11-14. Retrieved 2018-11-13.
^"D32 Pro [WEMOS Electronics]". wiki.wemos.cc. Archived from the original on 2018-11-14. Retrieved 2018-11-13.
^"IoT Development Framework I Espressif Systems". www.espressif.com. Retrieved 2023-08-29.
^Espressif IoT Development Framework, Espressif Systems, 2023-08-29, retrieved 2023-08-29
^Arduino core for the ESP32, ESP32-S2, ESP32-S3 and ESP32-C3, Espressif Systems, 2023-08-28, retrieved 2023-08-29
^"Third-Party Platforms That Support Espressif Hardware". Espressif Systems. Retrieved 2017-10-20.
^Tim Mattison (2017-04-13). "AWS IoT on Mongoose OS, Part 1".
^Hiari, Omar (29 June 2023). "ESP32 and Rust Make a Winning Combination". Apollo Labs Tech Blog. Apollo Labs. Retrieved 29 June 2023.
^"The Rust on ESP Book". Rust on ESP Community (Github). Retrieved 29 June 2023.
^"Getting Started with VS Code IDE - ESP32 - — ESP-IDF Programming Guide latest documentation". docs.espressif.com. Retrieved 2021-10-29.
^"Alibaba's IoT Wrist Bands Based on ESP32". 2017-09-30. Archived from the original on 29 March 2019.
^"DingTalk's New Biometric Attendance Monitor Based on ESP32". Espressif Systems. 2017-06-02.
^@ESP32net (2017-11-07). "FCC internal photos exhibit for the LIFX Mini Wi-Fi LED light (FCC ID 2AA53-MINI) show inclusion of ESP32…" (Tweet) – via Twitter.
^"ODROID | Hardkernel". 2018-07-06. Archived from the original on 2018-07-06. Retrieved 2018-07-06.
^"Octopus Home Mini FAQ". Octopus Energy. Retrieved 2023-07-29.
^"Moduino X Series - Industrial IoT module based on ESP32". TECHBASE Group.
^"NORVI IIoT - Industrial Controllers based on ESP32". ICONIC DEVICES Ltd.
^"ME 100: Electronics for the Internet of Things". Retrieved 2024-04-23.
^Ruben E. Figueiredo; Vitor Monteiro; Joao C. Ferreira; Joao L. Afonso; Jose A. Afonso (2021). "Smart home power management system for electric vehicle battery charger and electrical appliance control". International Transactions on Electrical Energy Systems. 31 (4). doi:10.1002/2050-7038.12812. hdl:1822/82969.