ESP32 is a low-cost, low-power system on a chip (SoC) series microcontroller with WiFi & dual-mode Bluetooth capabilities [1]. ESP32 SoC is highly integrated with built-in antenna switches, power amplifiers, low-noise receive amplifiers, filters, and power management modules. Inside all families of ESP32, there is a single-core or dual-core Tensilica Xtensa LX6 microprocessor with a clock rate of up to 240 MHz. ESP32 is designed for mobile, wearable electronics, and Internet-of-Things (IoT) applications. It features all the state-of-the-art characteristics of low-power chips, including fine-grained clock gating, multiple power modes, and dynamic power scaling.
For now, the ESP32 family includes the following chips in mass production:
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 MB (ESP32-D0WDQ6, ESP32-D0WD, and ESP32-S0WD chips),
2 MB (ESP32-D2WD chip).
External Flash & SRAM
ESP32 supports up to four 16 MB 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 MB 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 MB of external flash/SRAM memory is 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 includes capacitive touch (10× touch sensors).
12-bit ADCs (analog-to-digital converter) up to 18 channels.
IEEE 802.11 standard security features are all supported, including WFA, WPA/WPA2 and WAPI.
1024-bit OTP, up to 768-bit for customers.
Cryptographic hardware acceleration:
AES,
SHA-2,
RSA,
elliptic curve cryptography (ECC),
random number generator (RNG).
ESP32 Modules
The company also produces ready-made modules using the processors above [4]. These modules combine ESP32 microcontroller and additional components mounted on PCB with EM shield (table 1):
ESP32-PICO-D4
The ESP32-PICO-D4[5] is a System-in-Package (SiP) module that is based on ESP32. ESP32-PICO-D4 integrates all peripheral components in one package, including a crystal oscillator, flash, filter capacitors and RF matching links. The module is as small as 7.0 mm × 7.0 mm × 0.94 mm, thus requiring minimal PCB area. The main characteristics that distinguish it from the ESP32 family are:
Integrated crystal oscillator, filter capacitors and RF matching circuit,
Internal built-in memory 4 MB SPI flash,
chip size 7.0 mm × 7.0 mm × 0.94 mm.
ESP32-PICO-V3
The ESP32-PICO-V3[6] is a System-in-Package (SiP) module that is based on ESP32 but with a new ECO V3 wafer. The module is as small as 7.0 mm × 7.0 mm × 1.11 mm. Distinguishing features from the ESP32-PICO-D4 chips are:
New silicone wafer ECO V3,
16 kB SRAM in RTC,
chip size 7.0 mm × 7.0 mm × 1,11 mm.
ESP32-PICO-V3-02
The ESP32-PICO-V3-02[7] is based on ESP32-PICO-V3 with additional SPi flash and SPI PSRAM. Distinguishing features from the ESP32-PICO-V3 chips are:
Internal built-in SPI flash memory 8 MB,
Internal built-in SPI PSRAM memory 2 MB,
additional GPIO pin - GPIO20,
For chip security purposes, flash pins DI, DO, /HOLD, /WP and PSRAM pins SI/SIO0, SO/SIO1, SIO2, and SIO3 are not led out.
ESP32-PICO Modules
The company also produces ready-made modules using the ESP32-PICO SOCs [8][9]. These modules combine ESP32 microcontroller and additional components mounted on PCB with EM shield (table 2).
ESP32-PICO-V3-ZERO (figure 16) for Alexa Connect Kit (ACK)
ESP32-PICO-V3
2
4
–
PCB&IPEX
16 × 23 × 2.3
ESP32 Development Kits
To accelerate the design of circuits, developers can use specially prepared sets with ESP32, which are ready to use. The original Espressif best-known small development boards are:
ESP32-PICO-DevKitM-2 with ESP32-PICO-Mini-02 (figure 20).
General Purpose Input-Output (GPIO) Connector
Each ESP32 is equipped with a standard 38/40-pis male connector containing universal GPIO ports, VCC 3.3/5 V, GND, CLK, I2C/SPI bus pins, which developers can use to connect their external sensors, switches and other controlled devices to the ESP32 board and then program their behaviour within the code loaded to the board.
In addition to modules for developers, small microcomputers with ESP processors are also produced. They are very convenient to use. They often include one or two buttons, an RGB LED or LCD, and everything enclosed in a case and ready for use in small projects. One of them is the ESP-PICO-D4 based M5 Atom-lite (figure 24):
An additional advantage of such a module for use in mini projects is the available housing with a prototype PCB shown in figure 25