ESP32 is a series of low-cost, low-power system on a chip microcontrollers with integrated Wi-Fi and dual-mode Bluetooth. The ESP32 series employs a Tensilica Xtensa LX6 microprocessor in both dual-core and single-core variations and includes in-built antenna switches, RF balun, 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 using their 40 nm process. It is a successor to the ESP8266 microcontroller.
ESP-WROOM-32 module with ESP32‑D0WDQ6 chip
|Release date||September 6, 2016|
|CPU||Tensilica Xtensa LX6 microprocessor @ 160 or 240 MHz|
|Memory||520 KiB SRAM|
|Power||3.3 V DC|
Features of the ESP32 include the following:
- 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 SRAM
- Wireless connectivity:
- Wi-Fi: 802.11 b/g/n
- Bluetooth: v4.2 BR/EDR and BLE
- Peripheral interfaces:
- 12-bit SAR ADC up to 18 channels
- 2 × 8-bit DACs
- 10 × touch sensors (capacitive sensing GPIOs)
- Temperature sensor
- 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 IEEE 1588 Precision Time Protocol support
- CAN bus 2.0
- Infrared remote controller (TX/RX, up to 8 channels)
- Motor PWM
- LED PWM (up to 16 channels)
- Hall effect sensor
- Ultra low power analog pre-amplifier
- Power management:
- Internal low-dropout regulator
- Individual power domain for RTC
- 5uA deep sleep current
- Wake up from GPIO interrupt, timer, ADC measurements, capacitive touch sensor interrupt
QFN packaged chip and moduleEdit
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.
The ESP32 system on a chip integrated circuit is packaged in both 6 mm × 6 mm and 5 mm × 5 mm sized QFN packages.
|Identifier||Processor cores||Embedded flash memory (MiB)||Package size||Description|
|ESP31B||2||0||6×6 mm2||Pre-release SoC used for beta testing; no longer available.|
|ESP32-D0WDQ6||2||0||6×6 mm2||Initial production release chip of the ESP32 series.|
|ESP32‑D0WD||2||0||5×5 mm2||Smaller physical package variation similar to ESP32-D0WDQ6.|
|ESP32‑D2WD||2||2||5×5 mm2||2 MiB (16 Mibit) embedded flash memory variation.|
|ESP32‑S0WD||1||0||5×5 mm2||Single-core processor variation.|
The ESP32-PICO-D4 system in package 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.
|Identifier||Processor cores||Embedded flash memory (MiB)||Package size||Description|
|ESP32-PICO-D4||2||4||7×7 mm2||Includes ESP32 chip, crystal oscillator, flash memory, filter capacitors, and RF matching links.|
Printed circuit boardsEdit
Surface-mount module boardsEdit
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).|
|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 "ESP32-WROOM-32".|
|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".|
|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.|
|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.|
|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.|
|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.|
|ESP32-WROVER-B||PCB trace||4||8||Revision of ESP32-WROVER module with 8 MiB pSRAM (instead of 4 MiB pSRAM) 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.)|
|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.|
|Banana pi||BPI:bit||PCB trace||4||0||banana pi equivalent to Espressif's ESP-WROOM-32 module.|
|BPI-UNO32||U.FL socket, PCB trace||4||4||banana pi's equivalent to Espressif's ESP32-WROVER series module,it is for arduino|
|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.|
|ESP32-A1S||U.FL socket, PCB trace||4||4||Ai-Thinker's equivalent to Espressif's ESP32-WROVER series module.|
|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.|
|ALB-WROOM||PCB trace||16||0||Variation of ESP-32S-ALB with 16 MiB of flash memory.|
|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.|
|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.|
|L01||(Not included.)||8||4||OEM module version of the LoPy. Supports Wi-Fi, Bluetooth, and LoRa. FCC ID 2AJMTLOPY01R.|
|L04||(Not included.)||8||4||OEM module version of the LoPy4. Supports Wi-Fi, Bluetooth, LoRa, and Sigfox.|
|S01||(Not included.)||8||4||Discontinued. OEM module version of the SiPy. Supported Wi-Fi, Bluetooth, and Sigfox (14 dBm and 22 dBm).|
|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.|
|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 boardsEdit
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).
|Vendor||Name||Surface-mount module used||Description|
|Espressif||ESP_Module_Testboard||ESP-WROOM-03||Break-out board included with ESP-WROOM-03 beta modules.|
|ESP32_Demo Board_V2||ESP-WROOM-32||Development & demonstration board created by Espressif.|
|ESP32-DevKitC||ESP-WROOM-32||Compact development board created by Espressif. Silkscreen labeling on PCB reads "Core Board".|
|ESP-WROVER-KIT||ESP-WROOM-32 or ESP32-WROVER||Large development board created by Espressif. Previously named ESP32-DevKitJ.|
|ESP32-PICO-KIT||ESP32-PICO-D4||Small development board created by Espressif. 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.|
|Banana pi||BPI:bit||ESP-32S||a deveopment for Webduino and arduino|
|BPI-UNO32||ESP32-S||a development board for arduino|
|Ai-Thinker||NodeMCU-32S||ESP-32S||NodeMCU-like development board.|
|ESP32-CAM||ESP32-S||Compact development board with SD card slot and ribbon cable interface intended for camera connection.|
|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.|
|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.|
|DoIT||ESPduino32||ESP-WROOM-32||Full-featured Arduino Uno-like development board compatible with Arduino Shields. It also adds additional SPI & IO pins.|
|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.|
|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.|
|LoPy||†||Triple network Pycom board featuring LoRa, Wi-Fi (1 km range), and BLE.|
|LoPy4||?||Quadruple network Pycom board featuring LoRa, Sigfox, Wi-Fi (1 km range), and BLE.|
|SiPy||†||Triple network Pycom board featuring Sigfox, Wi-Fi (1 km range), and BLE.|
|GPy||†||Triple network Pycom board featuring LTE-M, Wi-Fi (1 km range), and BLE.|
|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.|
|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.|
|LOLIN32 Pro||ESP32-WROVER||Has MicroSD card slot (supports SD and SPI mode)|
|Widora||Air||†||Compact ESP32 development board.|
† ESP32 SoC incorporated directly onto development board; no module board used.
Programming languages, frameworks, platforms, and environments used for ESP32 programming:
- Arduino IDE with the ESP32 Arduino Core
- Espressif IoT Development Framework – Official Espressif development framework for ESP32.
- Lua RTOS for ESP32
- mruby for the ESP32
- PlatformIO Ecosystem and IDE
- Pymakr IDE – IDE designed for use with Pycom devices; handles firmware upgrades and includes MicroPython REPL console.
- Simba Embedded Programming Platform
- Whitecat Ecosystem Blockly Based Web IDE
- Zerynth – Python for IoT and microcontrollers, including the ESP32.
Reception and useEdit
Commercial and industrial use of ESP32:
Use in commercial devicesEdit
- 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 Mini, a series of remotely controllable, LED based light bulbs.
- 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.
Use in industrial devicesEdit
- TECHBASE's Moduino X series X1 and X2 modules are ESP32-WROVER based computers for industrial automation and monitoring, supporting digital inputs/outputs, analog inputs, and various computer networking interfaces.
- "Espressif Announces the Launch of ESP32 Cloud on Chip and Funding by Fosun Group". Espressif Systems. 2016-09-07. Retrieved 2017-03-31.
- "ESP32 Overview". Espressif Systems. Retrieved 2016-09-01.
- "ESP32 Datasheet" (PDF). Espressif Systems. 2017-03-06. Retrieved 2017-03-14.
- Espressif Systems (2017-08-21). "ESP32-PICO-D4 Datasheet" (PDF). Retrieved 2017-07-21.
- Jim Lindblom (2016-01-21). "Enginursday: First Impressions of the ESP32". Sparkfun Electronics. Retrieved 2016-09-01.
- Limor Fried (2015-12-22). Playing With New ESP32 Beta Module. Adafruit Industries. Retrieved 2016-09-02.
- Martin Harizanov (2015-12-18). "ESP32". Retrieved 2016-09-02.
- Brian Benchoff (2015-12-23). "The ESP32 Beta Units Arrive". Hackaday. Retrieved 2016-09-02.
- Markus Ulsass (2015-12-25). "ESP32 beta module HiRes pictures". Retrieved 2016-09-02.
- "FCC Part 15.247 Test Report for Espressif Systems (Shanghai) Pte. Ltd". Bay Area Compliance Laboratories Corp. 2016-02-17. Retrieved 2016-09-02.
- "ESP-WROOM-32 Datasheet" (PDF). Espressif Systems. 2016-08-22. Retrieved 2016-09-02.
- "FCC Part 15.247 Test Report for Espressif Systems (Shanghai) Pte. Ltd". Bay Area Compliance Laboratories Corp. 2016-11-10. Retrieved 2016-12-15.
- "ESP-WROOM-32D/ESP32-WROOM-32U Datasheet" (PDF). Espressif Systems. Retrieved 2017-11-28.
- Baoshi (2016-10-11). "Ai-Thinker ESP-32S Decap Photos". Retrieved 2016-10-22.
- "ESP-32S-ALB/ALB-WROOM". AnalogLamb.
- "ESP32-WROVER – ESP32 Module with 32Mb Flash and 32Mb PSRAM". AnalogLamb.
- "(SKU:TEL0111)ESP32 WiFi&Bluetooth Module/ESP-WROOM-32". DFRobot.
- "硬件功能 (Hardware Function)". IntoRobot.
- ITEAD (2017-02-15). "PSH-C32 Schematic" (PDF). Retrieved 2017-02-23.
- ITEAD. "PSH-C32". Retrieved 2017-02-23.
- Pycom. "Pycom OEM Products". Retrieved 2017-03-14.
- "NINA-W13 series". u-blox.
- William Hooi (2016-09-01). "So looking forward…". Retrieved 2016-09-02.
- Aditya Tannu (2016-09-02). "Look what I just got!". Retrieved 2016-09-02.
- "ESP32-DevKitC Getting Started Guide". Espressif Systems. 2016-09-21. Retrieved 2016-09-21.
- "ESP-WROVER-KIT". Espressif Systems. Retrieved 2017-02-19.
- "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.
- "ESP32 Development Board – Developer Edition". AnalogLamb.
- "Maple ESP32 – ESP32 Board with Micro SD Interface, USB to USART & Compatible with Arduino Interface". AnalogLamb.
- "BC24 / ESP32 Development Board – Big Circle 24". SwitchDoc Labs.
- "Products [WEMOS Electronics]". Retrieved 2018-01-25.
- "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".
- "Google Cloud IoT Partners". Google. Retrieved 2017-10-20.
- "Alibaba's IoT Wrist Bands Based on ESP32". Espressif Systems. 2017-09-30.
- "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.
- "New ESP32-based Aromatherapy Device". Espressif Systems. 2017-07-31.
- "ODROID | Hardkernel". 2018-07-06. Retrieved 2018-07-06.
- "Moduino X Series - Industrial IoT module based on ESP32". TECHBASE Group.