
ESP32 is a low-cost and low-power System on Chip (SoC) microcontroller developed by Espressif Systems, the makers of the popular ESP8266 SoC. ESP32 is a successor to ESP8266 and comes with many features and capabilities that make it suitable for a wide range of applications, especially in the Internet of Things (IoT) and Home Automation domains.
Specifications
Features
ESP32 has many features that make it a powerful and versatile microcontroller, such as:
- Single or dual-core 32-bit LX6 microprocessor with clock frequency up to 240 MHz and 520 KB of SRAM.
- Integrated Wi-Fi and Bluetooth connectivity, supporting IEEE 802.11 b/g/n, Bluetooth v4.2 BR/EDR and BLE, and Wi-Fi Direct.
- Rich peripheral interface, including capacitive touch, ADC, DAC, UART, SPI, I2C, PWM, I2S, SD/SDIO/MMC host, and much more.
- Ultra-low-power mode and deep sleep mode for battery-operated applications.
- Compatible with Arduino IDE, MicroPython, and other programming environments.
Datasheet for the ESP32 is available at esp32_datasheet_en.pdf (espressif.com)
Frameworks
ESP32 can be programmed using various frameworks, such as:
- Arduino: a popular open-source platform for developing embedded systems using a simplified version of C/C++.
- MicroPython: a re-implementation of Python 3 for microcontrollers and embedded systems.
- ESP-IDF: the official development framework for ESP32, based on FreeRTOS, a real-time operating system.
Popular Development Boards
There are many development boards based on ESP32, which provide easy access to the pins and features of the chip. Some of the popular ones are:
- ESP32-DevKitC: a basic development board with a USB-to-UART bridge, a reset and boot button, and a micro-USB port.

The ESP32-DevKitC is the most popular development board in use.
- ESP32-WROVER-KIT: a comprehensive development board with a 3.2 inch LCD display, a microSD card slot, a camera interface, a JTAG interface, and a built-in debugger.
- ESP32-CAM: a small development board with a 2 MP camera module, a microSD card slot, and Wi-Fi and Bluetooth connectivity. Supports a variety of other camera modules as well

New variants
Since its release in 2016, newer variants of the ESP32 have also been released. Some of the new variants are:
- ESP32-S2: A single-core Xtensa LX7 microprocessor with 320 KB SRAM, 128 KB ROM, and 2 MB or 4 MB embedded flash. It supports Wi-Fi 802.11 b/g/n, but not Bluetooth. It has more peripherals and security features than the original ESP32, such as USB OTG, LCD interface, AES, SHA, RSA, ECC, and RNG. It was released in 2020.
- ESP32-C3: A single-core RISC-V microprocessor with 400 KB SRAM, 384 KB ROM, and 4 MB embedded flash. It supports Wi-Fi 802.11 b/g/n and Bluetooth 5.0. It has fewer peripherals than the ESP32-S2, but it has a debug assist feature and a faster and safer secure boot and flash encryption. It was also released in 2020.
- ESP32-S3: A dual-core Xtensa LX7 microprocessor with 512 KB SRAM, 384 KB ROM, and 4 MB embedded flash. It supports Wi-Fi 802.11 a/b/g/n/ac and Bluetooth 5.0. It has more performance and memory than the ESP32-S2, and it also has a vector extension (VE) instruction set for AI and signal processing applications. It was released in 2021.
Various development boards also available for these newer variants.
References
ESP32 Wi-Fi & Bluetooth SoC | Espressif Systems.
espressif/arduino-esp32: Arduino core for the ESP32 (github.com)