ESP32


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. It is a successor to the ESP8266 microcontroller.

Features

Features of the ESP32 include the following:
ESP32 is housed in quad-flat no-leads packages of varying sizes with 49 pads. Specifically, 48 connection pads along the sides and one large thermal pad 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.
IdentifierProcessor
cores
Embedded flash
memory
Package
size
Description
ESP31B206 mm×6 mmPre-release SoC used for beta testing; no longer available.
206 mm×6 mmInitial production release chip of the ESP32 series.
ESP32-D0WD205 mm×5 mmSmaller physical package variation similar to ESP32-D0WDQ6.
ESP32‑D2WD225 mm×5 mm2 MiB embedded flash memory variation.
ESP32-U4WDH145 mm×5 mmSingle-core processor and 4 MiB embedded flash memory variation.
ESP32‑S0WD105 mm×5 mmSingle-core processor variation.

Module

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.
IdentifierProcessor
cores
Embedded flash
memory
Package
size
Description
ESP32-PICO-D4247 mm×7 mmIncludes ESP32 chip, crystal oscillator, flash memory, filter capacitors, and RF matching links.

Printed circuit boards

Surface-mount module boards

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.
VendorNameAntennaFlash memory pSRAM Description
EspressifESP-WROOM-0340Discontinued. 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 .
EspressifESP32-WROOM-32PCB trace40First publicly available ESP32 module board created by Espressif. FCC Part 15.247 tested. Based on ESP32-D0WDQ6 chip. Originally named "ESP-WROOM-32".
EspressifESP32-WROOM-32DPCB trace40Revision of the ESP-WROOM-32 module which uses an ESP32-D0WD chip instead of an ESP32-D0WDQ6 chip. Originally named "ESP-WROOM-32D".
EspressifESP32-SOLO-1PCB trace40Similar to the ESP32-WROOM-32D module, but uses the single-core ESP32-S0WD chip instead of the dual-core ESP32-D0WD.
EspressifU.FL socket40Alternative to the ESP-WROOM-32D module which has a U.FL connector for external antenna in lieu of a PCB trace antenna.
EspressifPCB trace44ESP32 module board with 4 MiB pSRAM created by Espressif. FCC part 15.247 tested. 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.
EspressifU.FL socket, PCB trace44Variation of ESP32-WROVER module configured to use an on-board U.FL compatible connector. PCB trace antenna not connected by default.
EspressifPCB trace48Revision of ESP32-WROVER module with 8 MiB pSRAM operating at 3.3V and ESP32-D0WD. FCC part 15.247 tested. Does not include U.FL connector.
EspressifU.FL socket, PCB trace48Variation of ESP32-WROVER-B module configured to use an on-board U.FL compatible connector. PCB trace antenna not connected by default.
Ai-ThinkerESP32-SPCB trace40Ai-Thinker's equivalent to Espressif's ESP-WROOM-32 module. 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.
Ai-ThinkerESP32-A1SU.FL socket, PCB trace44Ai-Thinker's equivalent to Espressif's ESP32-WROVER series module.
AnalogLambESP-32S-ALBPCB trace40Clone of the ESP-32S module. Seen with a green solder mask coating.
AnalogLambALB-WROOMPCB trace160Variation of ESP-32S-ALB with 16 MiB of flash memory.
AnalogLambALB32-WROVERPCB trace44ESP32 module board with 4 MiB pSRAM with the same footprint as the ESP-WROOM-32 module.
DFRobotESP-WROOM-32PCB trace40Module board similar to Espressif Systems's ESP-WROOM-32, but is not FCC certified, and uses 26 MHz or 32 kHz crystal oscillator.
eBox & WidoraESP32-BitCeramic, U.FL socket40Module 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 TechESP-32FPCB trace40Module board similar to Espressif Systems's ESP-WROOM-32. FCC certified.
IntoRobotW32PCB trace40Module similar in appearance to Espressif's ESP-WROOM-32, but footprint pinout differs.
IntoRobotW33Ceramic, U.FL socket40Differs from IntoRobot W32 module in its antenna configuration.
ITEADPSH-C32PCB trace10Module has unusually small flash memory on board. Also, footprint is unique and differs from all other ESP32 modules.
PycomW0184OEM module version of the WiPy 2.0. Supports Wi-Fi and Bluetooth. FCC ID 2AJMTWIPY01R.
PycomL0184OEM module version of the LoPy. Supports Wi-Fi, Bluetooth, and LoRa. FCC ID 2AJMTLOPY01R.
PycomL0484OEM module version of the LoPy4. Supports Wi-Fi, Bluetooth, LoRa, and Sigfox.
PycomS0184Discontinued. OEM module version of the SiPy. Supports Wi-Fi, Bluetooth, and Sigfox.
PycomG0184OEM module version of the GPy. Supports Cellular LTE-CAT M1/NB1, Wi-Fi and Bluetooth.
u-bloxNINA-W13120Belongs to the u-blox NINA-W13 series of Wi-Fi modules.
u-bloxNINA-W132PIFA20Belongs to the u-blox NINA-W13 series of Wi-Fi modules. On board planar inverted-F antenna is shaped metal, not a PCB trace.

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.
VendorNameSurface-mount module usedDescription
EspressifESP_Module_TestboardESP-WROOM-03Break-out board included with ESP-WROOM-03 beta modules.
EspressifDevelopment & demonstration board created by Espressif.
EspressifESP32-DevKitCESP-WROOM-32Compact development board created by Espressif. Silkscreen labeling on PCB reads "Core Board".
EspressifESP-WROVER-KITESP-WROOM-32 or ESP32-WROVERLarge development board created by Espressif. Previously named ESP32-DevKitJ.
EspressifESP32-PICO-KITESP32-PICO-D4Small development board created by Espressif. FCC ID 2AC7Z-ESP32PICOKIT.
AdafruitHUZZAH32ESP-WROOM-32Also 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 piBPI:bitESP-32Sa development for Webduino and arduino
Banana piBPI-UNO32ESP32-Sa development board for arduino
Ai-ThinkerNodeMCU-32SESP-32SNodeMCU-like development board.
Ai-ThinkerESP32-CAMESP32-SCompact development board with SD card slot and ribbon cable interface intended for camera connection.
AnalogLambESP32 Development BoardESP-32S-ALB or ALB-WROOMDevelopment 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.
AnalogLambMaple ESP32ESP-32S-ALBDevelopment board with Arduino-style connections and CP2104 USB/serial interface.
April BrotherESPea32Development board with perfboard area that may be optionally cut-off.
ArduCAMESP32 UNOESP-32SArduino Uno-like development board based on ESP32 IoT UNO framework with support for SPI ArduCAM, battery pins and uSD card slot.
DoITESPduino32ESP-WROOM-32Full-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.
EzSBCESP32-01 Breakout and Development BoardESP-WROOM-32Full-featured development board with two tri-color LEDs and fits on a breadboard.
Gravitech & MakerAsiaNano32Development board that directly incorporates the ESP32 chip.
HydraBusHydraESP32ESP-WROOM-32 or ESP-32SHydraESP32 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.
NoduinoQuantumArduino-style development board that directly incorporates the ESP32 chip.
PycomWiPyMicroPython programmable Wi-Fi & Bluetooth IoT development platform with a 1 km Wi-Fi range. WiPy versions 2.0 and 3.0 use ESP32.
PycomLoPyTriple network Pycom board featuring LoRa, Wi-Fi, and BLE.
PycomLoPy4?Quadruple network Pycom board featuring LoRa, Sigfox, Wi-Fi, and BLE.
PycomSiPyTriple network Pycom board featuring Sigfox, Wi-Fi, and BLE.
PycomGPyTriple network Pycom board featuring LTE-M, Wi-Fi, and BLE.
PycomFiPyQuintuple network Pycom board featuring LTE-M, LoRa, Sigfox, Wi-Fi, and BLE.
SparkFunESP32 ThingCompact development board with FTDI FT231x USB/serial interface and LiPo charger built-in.
SunDUINOESP32 MiniBoardESP-WROOM-32Breakout compatible with the Espressif ESP32-DevKitC. Lacks on-board USB-UART.
SunDUINOESP32 MiniBoard v2ESP32-Wrover-B/IBBreakout board with Silabs CP2102, battery charger. Compatible with Espressif DEVkit.
SunDUINOESP32 SunDUINOESP-WROOM-32 or ESP-32SArduino-style development board. Lacks on-board USB-UART.
SwitchDoc LabsBC24ESP-WROOM-32ESP32 Breakout with 24 SK6812RGBW LEDs with Grove Connectors for easy prototyping. Comes with USB-UART and Feather compatible pinout.
WatterottESP-WROOM32-BreakoutESP-WROOM-32Breakout which is compatible with the Espressif ESP32-DevKitC.
WEMOSLOLIN32 ESP-WROOM-32
WEMOSLOLIN32 Lite ESP32-D0WDQ6
WEMOSLOLIN32 Pro ESP32-WROVERMicroSD card slot
WEMOSLOLIN D32ESP-WROOM-32
WEMOSLOLIN D32 ProESP32-WROVERI2C port, TFT port and Micro SD Card slot
WidoraAirCompact ESP32 development board.

† ESP32 SoC incorporated directly onto development board; no module board used.

Programming

Programming languages, frameworks, platforms, and environments used for ESP32 programming:
Commercial and industrial use of ESP32:

Use in commercial devices