What is ESP32
The ESP32 is a low-cost and low-power microcontrollers developed by Espressif, that includes a dual-core or single-core Tensilica Xtensa LX6 microprocessor with a clock rate of up to 240 MHz, Wi-Fi and dual-mode Bluetooth capabilities.. 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.
Features and Specifications
See the ESP32 Datasheet for information on ESP32 chips
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
co-processor: Ultra low power allows 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 - data and instruction.
RTC fast SRAM: 8 KiB - data storage and main CPU during RTC Boot from the deep-sleep mode.
RTC slow SRAM: 8 KiB - r co-processor accessing during deep-sleep mode.
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)
Wireless Connectivity
On-chip Wi-Fi supports 802.11b/g/n standard
Operates at 2.4 GHz band, up to 150 Mbps
It also supports Bluetooth v4.2 BR/EDR and Bluetooth LE specifications this dual mode of Bluetooth makes it even more versatile
Reset/Boot buttons
In ESP32 board comes with two main push buttons one is the Reset (RST/EN) button another is the BOOT button.
The reset button is used to reset the ESP32 Chip.
The use of the boot button is to enter in boot mode to upload the new sketch or program
Power
ESP32 development board can be power up from two sources, one is from an external 5 Volt source and another from the USB power source.
The ESP32 Board operates at a 2.3 Volt to 3.6 Volt voltage source and its recommended output current is 600 mA or more.
Most of the ESP32 development board has an inbuilt 1117 voltage regulator which converts the 5-volt input to 3.3 volts at the output.
Status Indicator
In ESP32 development board has one red led status indicator, which shows status while program uploading and serial communication.
GPIO: 32 Multifunctional GPIOs are available which can be used for input/output devices. Every GPIO pin can be configured as an internal pull-up, pull-down, or set to high impedance. The input can also be set to edge-trigger or level-trigger to generate CPU interrupts.
Note: GPIO34, GPIO35, GPIO36, and GPIO39 are the only input pins
ADC: 12-bit SAR (Successive Approximation Registers) ADCs (Analog to Digital Converter) which supports measurements on 16 channels of ESP32.
DAC: two 8-bit DAC (Digital to Analog) channels to convert digital signals into analog voltage signal outputs.
PWM: support 8-bit 32 channels Pulse width modulation (PWM). The pins with the symbol ‘~’ represent that it has PWM support. This can be used for dimming LEDs or controlling motors etc.
TOUCH Pad: 10 capacitive sensing GPIOs, that detect physical touch by the human body
I2C: The ESP32 development board has only one I2C bus interface (Supported in Arduino IDE). which can serve as an I2C master or slave, depending on the user’s configuration.
The I2C interfaces support:
Standard mode Support (100 Kbit/s)
Fast mode Support (400 Kbit/s)
Support both 7-bit and 10-bit addressing modes
Dual addressing mode
SPI: ESP32 has three SPIs (Serial Peripheral Interface) which are SPI, HSPI, and VSPI. These SPIs also support the following general-purpose SPI features:
Four modes of SPI transfer format (depend on the polarity and the phase of the SPI clock)
Speed Up to 80 MHz
up to 64-byte FIFO
UART: ESP32 development board has two UART interfaces UART0 and UART1. Both provide asynchronous communication and support to RS232, RS485, and IrDA too.
External Memory
Off-chip SPI memory can be mapped into the available address space as external memory. Parts of the embedded memory can be used as transparent cache for this external memory.
– Supports up to 16 MB off-Chip SPI Flash.
– Supports up to 8 MB off-Chip SPI SRAM.