Created by Espressif Systems, ESP32 is a low-cost, low-power system on a chip (SoC) series with Wi-Fi & dual-mode Bluetooth capabilities! The ESP32 family includes the chips ESP32- D0WDQ6 (and ESP32- D0WD ), ESP32- D2WD , ESP32- S0WD , and the system in package (SiP) ESP32-PICO-D4. At its heart, there's a dual-core or single-core Tensilica Xtensa LX6 microprocessor with a clock rate of up to 240 MHz. ESP32 is highly integrated with built-in antenna switches, RF balun, power amplifier, low-noise receive amplifier, filters, and power management modules. Engineered for mobile devices, wearable electronics, and IoT applications, ESP32 achieves ultra-low power consumption through power saving features including fine resolution clock gating, multiple power modes, and dynamic power scaling.

👉 For news and information, follow @ESP32net on Twitter! 👈

Features & Specifications

See the ESP32 Datasheet for information on ESP32 chips and the ESP32-PICO-D4 Datasheet for information on the SiP module.

Processors: Main processor: Tensilica Xtensa 32-bit LX6 microprocessor Cores: 2 or 1 (depending on variation) All chips in the ESP32 series are dual-core except for ESP32-S0WD, which is single-core. Clock frequency: up to 240 MHz Performance: up to 600 DMIPS Ultra low power co-processor: allows you to do ADC conversions, computation, and level thresholds while in deep sleep.

Wireless connectivity: Wi-Fi: 802.11 b/g/n /e/i (802.11n @ 2.4 GHz up to 150 Mbit/s) Bluetooth: v4.2 BR/EDR and Bluetooth Low Energy (BLE)

Memory: Internal memory: ROM: 448 KiB For booting and core functions. SRAM: 520 KiB For data and instruction. RTC fast SRAM: 8 KiB For data storage and main CPU during RTC Boot from the deep-sleep mode. RTC slow SRAM: 8 KiB For co-processor accessing during deep-sleep mode. eFuse: 1 Kibit Of which 256 bits are used for the system (MAC address and chip configuration) and the remaining 768 bits are reserved for customer applications, including Flash-Encryption and Chip-ID. Embedded flash: Flash connected internally via IO16, IO17, SD_CMD, SD_CLK, SD_DATA_0 and SD_DATA_1 on ESP32-D2WD and ESP32-PICO-D4. 0 MiB (ESP32-D0WDQ6, ESP32-D0WD, and ESP32-S0WD chips) 2 MiB (ESP32-D2WD chip) 4 MiB (ESP32-PICO-D4 SiP module) External flash & SRAM: ESP32 supports up to four 16 MiB external QSPI flashes and SRAMs with hardware encryption based on AES to protect developers' programs and data. ESP32 can access the external QSPI flash and SRAM through high-speed caches. Up to 16 MiB of external flash are memory-mapped onto the CPU code space, supporting 8-bit, 16-bit and 32-bit access. Code execution is supported. Up to 8 MiB of external flash/SRAM memory are mapped onto the CPU data space, supporting 8-bit, 16-bit and 32-bit access. Data-read is supported on the flash and SRAM. Data-write is supported on the SRAM. ESP32 chips with embedded flash do not support the address mapping between external flash and peripherals.

Peripheral input/output: Rich peripheral interface with DMA that includes capacitive touch, ADCs (analog-to-digital converter), DACs (digital-to-analog converter), I²C (Inter-Integrated Circuit), UART (universal asynchronous receiver/transmitter), CAN 2.0 (Controller Area Network), SPI (Serial Peripheral Interface), I²S (Integrated Inter-IC Sound), RMII (Reduced Media-Independent Interface), PWM (pulse width modulation), and more.

Rich peripheral interface with DMA that includes capacitive touch, ADCs (analog-to-digital converter), DACs (digital-to-analog converter), I²C (Inter-Integrated Circuit), UART (universal asynchronous receiver/transmitter), CAN 2.0 (Controller Area Network), SPI (Serial Peripheral Interface), I²S (Integrated Inter-IC Sound), RMII (Reduced Media-Independent Interface), PWM (pulse width modulation), and more. 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)



Clarification note: In this context, "RTC" is a bit of an "Espressifism" because it's used as shorthand for the low-power and analog subsystem which is separate from the CPU and the main "digital" peripherals ("digital" is another Espressifism). There is some real time clock functionality as part of the RTC subsystem, but there's also a lot of other stuff.

Community & Discussion

For most questions, it's probably best to submit a post in the forums for widest community visibility and easily writing out the nitty-gritty details of your situational context — for example, including example code and detailing the relevant configuration of your software, firmware, and hardware. Alternatively, real-time chat via IRC is a great way to converse with others, learn new things, and sometimes get answers to questions on the spot. But, having said that, the main drawback to online chat is that not everyone is active or looking at the channel (chat room) at the same moment — people work at different hours and live in different parts of the world — so timing can be hit-or-miss. So, if you ask a question in the IRC channel, try to stick around, as it might take someone awhile to respond.

Readings & Videos

Development

Development software, tools, environments, languages, platforms, frameworks, libraries, code, and other resources:

Hardware

Hardware listed below includes the Quad-Flat No-Leads (QFN) packaged ESP32 chips and system-in-package module, various surface-mount printed circuit board modules, a large variety of development boards, and industrial, commercial, and general consumer devices.

QFN Packaged Chips

The ESP32 SoC (system on a chip) is housed in surface-mount, Quad-Flat No-leads (QFN) packages in either 6×6 mm² or 5×5 mm² sizes with 48+1 connection pads (48 pads along the sides and one large thermal pad connected to ground on the bottom). Physical package footprint/dimensions can be found in chapter 6 of the ESP32 Datasheet. All ESP32 chips thus far have been manufactured using TSMC's ultra-low power 40 nm process.

Processor Cores column above lists number of cores for the central processor; this number excludes the ULP co-processor. See ECO (Engineering Change Order) and Workarounds for Bugs in ESP32 for differences between revision 0 and revision 1. For information on the ESP31B prototype/beta chip, Thecolumn above lists number of cores for the central processor; this number excludes the ULP co-processor. Seefor differences between revision 0 and revision 1. For information on the ESP31B prototype/beta chip, visit the Historical page

QFN Packaged Module

ESP32-PICO-D4 SiP (system in package) module is housed in a 7×7 mm² Quad-Flat No-leads (QFN) package with 48+1 connection pads (48 pads along the sides and one large thermal pad connected to ground on the bottom). Package footprint/dimensions can be found in the ESP32-PICO-D4 Datasheet.

ESP32-PICO-D4 has been included on the following boards:

Espressif: ESP32-ZERO V2 (surface-mount PCB module), ESP32-PICO Core Board V2, ESP32-PICO-KIT (ESP32-PICO Core Board) V3 & V4

Microwavemont: ESP32-PICO Motherboard, ESP32-PICO-ADB, ESP32-PICO Double Decker, ESP32-PICO-CAM, ESP32-PICO-tinyCAM

Compact Surface-Mount PCB Modules

The ESP32-based Wi-Fi/Bluetooth communication modules in the table below are surface-mount devices (SMD). Each module is a small printed circuit board upon which chips and other components are soldered and treated as an inseparable assembly to be integrated onto another PCB. All the modules listed below contain an ESP32 chip, a 40 MHz crystal (clock), and a flash memory chip, but vary in features such as antenna configuration, capacity of the flash memory chip, and EM shielding. Because these wireless communication module boards are designed for incorporation into final products (unlike development boards), they lack development components which are unnecessary or undesirable in final products — e.g., typically no USB-to-UART nor programming/reset buttons — minimizing both cost and physical size.

Note that the pSRAM column refers to inclusion of additional on-board pseudostatic RAM; this figure does not include the SRAM within the ESP32 chip itself.

Small & Medium Development Boards/Modules (Not Using PCB Module)

These small and medium sized development boards have USB-to-UART interfaces, but the ESP32 chip is directly incorporated into the board (instead of using a ESP32-based surface-mount module).

Small & Medium Development Boards/Modules (Using PCB Module)

Development boards are designed to be easily worked with for the purpose prototyping and development. Typically this means connections are broken out with 0.1″ spaced headers (in contrast to the more tightly spaced connections seen on the compact surface-mount module boards). Furthermore, development boards often contain on-board components to aid in easy prototyping & programming — e.g., power-supply/regulation, USB-to-UART, and buttons for flashing & resetting.

Large Development, Specialty & Project Boards

Other Development Boards & Specialty Projects

Visit the Historical page for information about development boards that never were or obsolete otherwise.

Development Flashing/Testing Fixture Boards

Fixture for temporarily connecting to a module for the purpose of programming/flashing and testing. (No soldering.)

Buttoned Breakout Boards

Breakout boards (for modules) that include programming buttons, and perhaps with a few supplemental components, but lacking components otherwise included on typical development boards.

Basic Breakout Boards

Basic breakout boards (for modules) without any programming buttons and often without any other components (but some have capacitors); breaking out the surface-mount module's tightly-spaced castellated edge connections into wider-spaced connections for headers.

Visit the Historical page for information on breakout boards for the scrapped ESP3212 module.

Boards Using ESP32 for Supplementary Purposes

Boards where ESP32 is not the primary component; used as a supplementary component, providing Wi-Fi/Bluetooth connectivity.

Maker Model Notes Adam Vadala-Roth Vento A solar powered Wi-Fi development platform; descendant of the tech behind SunLeaf. Vento has an ARM Cortex M4F and uses an ESP32 SoC with PCB trace inverted-F antenna for Wi-Fi/Bluetooth.

Repository Arduino & SiFive Arduino Cinque Arduino Cinque is based on SiFive's Freedom E310 — the industry's first commercially available RISC-V core — running at 320 MHz. An on-board ESP32 chip provides support for 2.4 GHz Wi-Fi and Bluetooth. Fluo Technology FluoWiFi Arduino-style development board with Atmel ATmega644P 8-bit AVR micro-controller running at 16 MHz at its core. ESP-WROOM-32 module used for Wi-Fi/Bluetooth connectivity. (In the relative scheme of things, if this seems like driving a Ferrari with a tow truck, you're not alone.)

Pinout poster Husarion CORE2 Robotics prototyping/development platform with an ARM processor at its core.

The CORE2 model incorporates an ESP32-based module for Wi-Fi and Bluetooth connectivity.

Industrial, Commercial, and General Consumer Devices

Purchasing

Disclaimer: Vendors are listed here for informational purposes only. Buyers should use prudence and careful judgement when ordering. Before ordering, read all product descriptions and check vendor ratings when possible. Prices listed below are approximate and do not include shipping costs. Furthermore, prices listed below may be outdated, so be diligent and check for yourself.

Note to the beginner: If you are just getting started and don't know what to purchase, it would probably be best for you to purchase a development board (instead of an surface-mount module) for easier hardware setup and an better first time experience. Espressif's official, publicly sold development boards are ESP32-PICO-KIT, ESP32-DevKitC, and ESP-WROVER-KIT.

Note about Taobao: Taobao is a Chinese marketplace. For international shopping, intermediary agents are often used (for a fee, of course). Those unfamiliar with Taobao should read Naomi Wu's "Source Parts on Taobao: an Insider's Guide" and Eric's "How to Buy Directly from Taobao" before attempting to make a purchase through the venue.

QFN Packaged Chips

A few words of clarification because some people have erroneously confused chips with surface-mount PCB modules: If you wish to purchase just the Espressif ESP32 chip itself, understand that this means you're only receiving the fabricated silicon contained within a tiny Quad-Flat No-leads package. For those seeking integration/inclusion of ESP32, using an surface-mount module board with ESP32 inside is often more desirable, since such modules combine an ESP32 chip, 40 MHz crystal (clock), flash memory chip, and appropriate "glue" components into a ready-to-use, compact assembly. Having said that, if you wish to purchase only the chip and not a module board, you can purchase the chip through vendors listed below. You can also find sellers in venues like eBay and AliExpress using search queries with "ESP32" and "QFN", "SMT", "SMD", "package", "bare" or "raw"; also using the full identifier (such as "ESP32-D0WDQ6" or "ESP32-D2WD") in search queries may prove fruitful.

In addition to the sellers listed below, you can contact Espressif directly for chip purchase inquiries. For small quantities, Espressif will likely direct you to an appropriate distributor to contact. If you are a distributor or otherwise interested in ordering a large quantity of parts, the minimum order quantities for parts direct from Espressif are listed in the Espressif Products Ordering Information document.

Prices listed in the table above were last updated on 2017 Dec 8.

QFN Packaged Module

Prices listed in the table above were last updated on 2017 Dec 8.

Compact Surface-Mount PCB Modules

Compact modules designed for surface-mount technology integration are listed below. Surface-mount modules which have received FCC IDs include the Espressif ESP-WROOM-32 (2AC7Z-ESPWROOM32), ESP32-WROVER (2AC7Z-ESP32WROVER), Ai-Thinker ESP-32S (2AHMR-ESP32S), Guoyun ESP-32F (2AM77-ESP-32F), Pycom W01 (2AJMTWIPY01R) and L01 (2AJMTLOPY01R).

Prices listed in the table above were last updated on 2017 Dec 11.

Development Boards/Modules

In contrast to compact surface-mount modules, development boards break out connections to be larger and more "human scale" for easier prototyping and development and frequently include additional circuity and interfaces for power supply and programming.

Pycom WiPy 2.0 (FCC ID 2AJMTWIPY2R), Pycom LoPy (FCC ID 2AJMTLOPY1R), and Pycom SiPy (FCC ID 2AJMTSIPY1) development boards/modules have received FCC IDs. Development boards that employ surface-mount modules with FCC IDs (such as the Espressif ESP-WROOM-32, Espressif ESP32-WROVER, or Ai-Thinker ESP-32S module) will have that module component certified.

Prices listed in the table above were last updated on 2017 Oct 8.

Tweets by @ESP32net