
Security: hardware accelerators for AES and SSL/TLS.RMII (Reduced Media-Independent Interface).
UART (Universal Asynchronous Receiver/Transmitter). peripheral interface with DMA that includes capacitive touch. Low Power: ensures that you can still use ADC conversions, for example, during deep sleep. 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. eFuse: 1 Kbit (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). RTC slow SRAM: 8KB (for co-processor accessing during deep-sleep mode). RTC fas SRAM: 8 KB (for data storage and main CPU during RTC Boot from the deep-sleep mode). SRAM: 520 KB (for data and instructions). ROM: 448 KB (for booting and core functions). Processor: Tensilica Xtensa Dual-Core 32-bit LX6 microprocessor, running at 160 or 240 MHz. Bluetooth: BLE (Bluetooth Low Energy) and Bluetooth Classic. Wireless connectivity WiFi: 150.0 Mbps data rate with HT40. If you want to get a bit more technical and specific, you can take a look at the following detailed specifications of the ESP32 (source: )-for more details, check the datasheet): Compatible with MicroPython: you can program the ESP32 with MicroPython firmware, which is a re-implementation of Python 3 targeted for microcontrollers and embedded systems. Compatible with the Arduino “programming language”: those that are already familiar with programming the Arduino board, you’ll be happy to know that they can program the ESP32 in the Arduino style. Rich peripheral input/output interface-the ESP32 supports a wide variety of input (read data from the outside world) and output (to send commands/signals to the outside world) peripherals like capacitive touch, ADCs, DACs, UART, SPI, I2C, PWM, and much more. Dual-core: most ESP32 are dual-core- they come with 2 Xtensa 32-bit LX6 microprocessors: core 0 and core 1. Bluetooth: the ESP32 supports Bluetooth classic and Bluetooth Low Energy (BLE)-which is useful for a wide variety of IoT applications. Wi-Fi capabilities: the ESP32 can easily connect to a Wi-Fi network to connect to the internet (station mode), or create its own Wi-Fi wireless network ( access point mode) so other devices can connect to it-this is essential for IoT and Home Automation projects-you can have multiple devices communicating with each other using their Wi-Fi capabilities. Low-power: the ESP32 consumes very little power compared with other microcontrollers, and it supports low-power mode states like deep sleep to save power. Low-cost: you can get an ESP32 starting at $6, which makes it easily accessible to the general public.
Why are they so popular? Mainly because of the following features: