ESP32
ESP-WROOM-32 module with ESP32‑D0WDQ6 chip | |
| Manufacturer | Espressif Systems |
|---|---|
| Type | Microcontroller |
| Release date | September 6, 2016[1] |
| CPU | Tensilica Xtensa LX6 microprocessor @ 160 or 240 MHz |
| Memory | 520 KiB SRAM |
| Power | 3.3 V DC |
| Predecessor | ESP8266 |
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 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 Shanghai-based Chinese company, and is manufactured by TSMC using their 40 nm process.[2] It is a successor to the ESP8266 microcontroller.
Features[edit]
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
- 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 (shares the radio with Wi-Fi)
- Peripheral interfaces:
- 12-bit SAR ADC up to 18 channels
- 2 × 8-bit DACs
- 10 × touch sensors (capacitive sensing GPIOs)
- 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
- Security:
- IEEE 802.11 standard security features all supported, including WFA, WPA/WPA2 and 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
QFN packaged chip and module[edit]
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[edit]
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 mm×6 mm | Pre-release SoC used for beta testing; no longer available. |
| ESP32-D0WDQ6 | 2 | 0 | Initial production release chip of the ESP32 series. | |
| ESP32-D0WD | 2 | 0 | 5 mm×5 mm | Smaller physical package variation similar to ESP32-D0WDQ6. |
| ESP32‑D2WD | 2 | 2 | 2 MiB (16 Mibit) embedded flash memory variation. | |
| ESP32-U4WDH | 1 | 4 | Single-core processor and 4 MiB (32 Mibit) embedded flash memory variation. | |
| ESP32‑S0WD | 1 | 0 | Single-core processor variation. |
Module[edit]
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 mm×7 mm | Includes ESP32 chip, crystal oscillator, flash memory, filter capacitors, and RF matching links.[4] |
Printed circuit boards[edit]
Surface-mount module boards[edit]
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.[5][6][7][8][9] FCC Part 15.247 tested (FCC ID: 2AC7Z-ESP32).[10] |
| ESP32-WROOM-32 | PCB trace | 4 | 0 | First publicly available ESP32 module board created by Espressif.[11] FCC Part 15.247 tested (FCC ID: 2AC7Z-ESPWROOM32).[12] Based on ESP32-D0WDQ6 chip. Originally named "ESP-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.[13] 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.[13] | |
| 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. | |
| 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) 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.) | |
| 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. | |
| 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.)[14] 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.[15] |
| ALB-WROOM | PCB trace | 16 | 0 | Variation of ESP-32S-ALB with 16 MiB of flash memory.[15] | |
| ALB32-WROVER | PCB trace | 4 | 4 | ESP32 module board with 4 MiB pSRAM with the same footprint as the ESP-WROOM-32 module.[16] | |
| 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.[17] |
| 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.[18] |
| W33 | Ceramic, U.FL socket | 4 | 0 | Differs from IntoRobot W32 module in its antenna configuration. | |
| ITEAD | PSH-C32 | PCB trace | 1[19] | 0 | Module has unusually small flash memory on board. Also, footprint is unique and differs from all other ESP32 modules.[20] |
| Pycom[21] | 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. Supports 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.[22] |
| NINA-W132 | PIFA | 2 | 0 | Belongs to the u-blox NINA-W13 series of Wi-Fi modules.[22] On board planar inverted-F antenna (PIFA) is shaped (cut & bent) metal, not a PCB trace. |
Development and other boards[edit]
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.[5][6] |
| ESP32_Demo Board_V2 | ESP-WROOM-32 | Development & demonstration board created by Espressif.[23][24] | |
| ESP32-DevKitC | ESP-WROOM-32 | Compact development board created by Espressif.[25] Silkscreen labeling on PCB reads "Core Board". | |
| ESP-WROVER-KIT | ESP-WROOM-32 or ESP32-WROVER | Large development board created by Espressif.[26] Previously named ESP32-DevKitJ.[27] | |
| 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 development for Webduino and arduino |
| BPI-UNO32 | ESP32-S | a development board for arduino | |
| Ai-Thinker | NodeMCU-32S | ESP-32S | NodeMCU-like development board.[28] |
| 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.[29] |
| Maple ESP32 | ESP-32S-ALB | Development board with Arduino-style connections and CP2104 USB/serial interface.[30] | |
| 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.[31] |
| 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. |
| 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 MiniBoard v2 | ESP32-Wrover-B/IB | Breakout board with Silabs CP2102, battery charger. Compatible with Espressif DEVkit. | |
| 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. [32] |
| Watterott | ESP-WROOM32-Breakout | ESP-WROOM-32 | Breakout which is compatible with the Espressif ESP32-DevKitC. |
| WEMOS[33] | LOLIN32 [Retired][34] | ESP-WROOM-32 | |
| LOLIN32 Lite [Retired][35] | † | ESP32-D0WDQ6 | |
| LOLIN32 Pro [Retired][36] | ESP32-WROVER | MicroSD card slot (supports SD and SPI mode) | |
| LOLIN D32[37] | ESP-WROOM-32 | ||
| LOLIN D32 Pro[38] | ESP32-WROVER | I2C port, TFT port and Micro SD Card slot (support SPI mode) | |
| Widora | Air | † | Compact ESP32 development board. |
† ESP32 SoC incorporated directly onto development board; no module board used.
Programming[edit]
Programming languages, frameworks, platforms, and environments used for ESP32 programming:
- Arduino IDE with the ESP32 Arduino Core
- Espressif IoT Development Framework (IDF) – official Espressif development framework for ESP32
- MicroPython A lean implementation of Python 3 for microcontrollers
- Espressif Mesh Development Framework
- Espruino – JavaScript SDK and firmware closely emulating Node.js
- Lua RTOS for ESP32
- Moddable SDK — includes JavaScript language and library support for the ESP32
- Mongoose OS – an operating system for connected products on microcontrollers; programmable with JavaScript or C. A recommended platform by Espressif Systems,[39] AWS IoT,[40] and Google Cloud IoT.[41]
- mruby for the ESP32
- .NET nanoFramework - Coding in .NET C#, deploy and debug from Visual Studio[42]
- NodeMCU – Lua-based firmware
- 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 use[edit]
Commercial and industrial use of ESP32:
Use in commercial devices[edit]
- 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".[43]
- DingTalk's M1, a biometric attendance-tracking system.[44]
- LIFX Mini, a series of remotely controllable, LED based light bulbs.[45]
- Pium, a home fragrance and aromatherapy device.[46]
- HardKernel's Odroid Go, an ESP32 based handheld gaming device kit made to commemorate Odroid's 10th anniversary.[47]
- Playdate, a handheld video game console jointly developed by Panic Inc. and Teenage Engineering.
Use in industrial devices[edit]
- 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.[48]
- 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.[49]
See also[edit]
References[edit]
- ^ "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.
- ^ a b Jim Lindblom (2016-01-21). "Enginursday: First Impressions of the ESP32". Sparkfun Electronics. Retrieved 2016-09-01.
- ^ a b 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. Archived from the original (PDF) on 2016-09-13. 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.
- ^ a b "ESP-WROOM-32D/ESP32-WROOM-32U Datasheet" (PDF). Espressif Systems. Archived from the original (PDF) on 2017-12-03. Retrieved 2017-11-28.
- ^ Baoshi (2016-10-11). "Ai-Thinker ESP-32S Decap Photos". Retrieved 2016-10-22.
- ^ a b "ESP-32S-ALB/ALB-WROOM". AnalogLamb.
- ^ "ALB32-WROVER is an ESP-WROOM-32 Compatible Module with 32 Mbit PSRAM, up to 128 Mbit Flash". CNXSoft.
- ^ "(SKU:TEL0111)ESP32 WiFi&Bluetooth Module/ESP-WROOM-32". DFRobot.
- ^ "硬件功能 (Hardware Function)". IntoRobot. Archived from the original on 2018-05-30. Retrieved 2017-10-02.
- ^ 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.
- ^ a b "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.
- ^ ESP32 UNO by ArduCam. "Arduino Uno-like development board".
- ^ "BC24 / ESP32 Development Board – Big Circle 24". SwitchDoc Labs.
- ^ "Products [WEMOS Electronics]". Retrieved 2018-01-25.
- ^ "LOLIN32 (Retired) [WEMOS Electronics]". wiki.wemos.cc. Retrieved 2018-11-13.
- ^ "LOLIN32 Lite (Retired) [WEMOS Electronics]". wiki.wemos.cc. Retrieved 2018-11-13.
- ^ "LOLIN32 Pro (Retired) [WEMOS Electronics]". wiki.wemos.cc. Retrieved 2018-11-13.
- ^ "D32 [WEMOS Electronics]". wiki.wemos.cc. Retrieved 2018-11-13.
- ^ "D32 Pro [WEMOS Electronics]". wiki.wemos.cc. Retrieved 2018-11-13.
- ^ "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.
- ^ "Third-Party Platforms That Support Espressif Hardware". Espressif Systems. 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.
- ^ "NORVI IIoT - Industrial Controllers based on ESP32". ICONIC DEVICES Ltd.