Chip Series Comparison
The comparison below covers key features of chips supported by ESP-IDF. For the full list of features please refer to respective datasheets in Section Related Documents.
Feature |
ESP32 Series |
ESP32-S2 Series |
ESP32-C3 Series |
ESP32-S3 Series |
---|---|---|---|---|
Launch year |
2016 |
2020 |
2020 |
2020 |
Variants |
||||
Core |
Xtensa® dual-/single core 32-bit LX6 |
Xtensa® single-core 32-bit LX7 |
32-bit single-core RISC-V |
Xtensa® dual-core 32-bit LX7 |
Wi-Fi protocols |
802.11 b/g/n, 2.4 GHz |
802.11 b/g/n, 2.4 GHz |
802.11 b/g/n, 2.4 GHz |
802.11 b/g/n, 2.4 GHz |
Bluetooth® |
Bluetooth v4.2 BR/EDR and Bluetooth Low Energy |
✖️ |
Bluetooth 5.0 |
Bluetooth 5.0 |
Typical frequency |
240 MHz (160 MHz for ESP32-S0WD) |
240 MHz |
160 MHz |
240 MHz |
SRAM |
520 KB |
320 KB |
400 KB |
512 KB |
ROM |
448 KB for booting and core functions |
128 KB for booting and core functions |
384 KB for booting and core functions |
384 KB for booting and core functions |
Embedded flash |
2 MB, 4 MB, or none, depending on variants |
2 MB, 4 MB, or none, depending on variants |
4 MB or none, depending on variants |
8 MB or none, depending on variants |
External flash |
Up to 16 MB device, address 11 MB + 248 KB each time |
Up to 1 GB device, address 11.5 MB each time |
Up to 16 MB device, address 8 MB each time |
Up to 1 GB device, address 32 MB each time |
External RAM |
Up to 8 MB device, address 4 MB each time |
Up to 1 GB device, address 11.5 MB each time |
✖️ |
Up to 1 GB device, address 32 MB each time |
Cache |
✔️ Two-way set associative |
✔️ Four-way set associative, independent instruction cache and data cache |
✔️ Eight-way set associative, 32-bit data/instruction bus width |
✔️ Four-way or eight-way set associative for instruction cache; four-way set associative for data cache, 32-bit data/instruction bus width |
Peripherals |
||||
ADC |
Two 12-bit, 18 channels |
Two 12-bit, 20 channels |
Two 12-bit SAR ADCs, at most 6 channels |
Two 12-bit SAR ADCs, 20 channels |
DAC |
Two 8-bit channels |
Two 8-bit channels |
✖️ |
✖️ |
Timers |
Four 64-bit general-purpose timers, and three watchdog timers |
Four 64-bit general-purpose timers, and three watchdog timers |
Two 54-bit general-purpose timers, and three watchdog timers |
Four 54-bit general-purpose timers, and three watchdog timers |
Temperature sensor |
✖️ |
1 |
1 |
1 |
Touch sensor |
10 |
14 |
✖️ |
14 |
Hall sensor |
1 |
✖️ |
✖️ |
✖️ |
GPIO |
34 |
43 |
22 |
45 |
SPI |
4 |
4 |
3 |
4 |
LCD interface |
1 |
1 |
✖️ |
1 |
UART |
3 |
2 1 |
2 1 |
3 |
I2C |
2 |
2 |
1 |
2 |
I2S |
2, can be configured to operate with 8/16/32/40/48-bit resolution as an input or output channel. |
1, can be configured to operate with 8/16/24/32/48/64-bit resolution as an input or output channel. |
1, can be configured to operate with 8/16/24/32-bit resolution as an input or output channel. |
2, can be configured to operate with 8/16/24/32-bit resolution as an input or output channel. |
Camera interface |
1 |
1 |
✖️ |
1 |
DMA |
Dedicated DMA to UART, SPI, I2S, SDIO slave, SD/MMC host, EMAC, BT, and Wi-Fi |
Dedicated DMA to UART, SPI, AES, SHA, I2S, and ADC Controller |
General-purpose, 3 TX channels, 3 RX channels |
General-purpose, 5 TX channels, 5 RX channels |
RMT |
8 channels |
4 channels 1, can be configured to TX/RX channels |
4 channels 2, 2 TX channels, 2 RX channels |
8 channels 2, 4 TX channels, 4 RX channels |
Pulse counter |
8 channels |
4 channels 1 |
✖️ |
4 channels 1 |
LED PWM |
16 channels |
8 channels 1 |
6 channels 2 |
8 channels 1 |
MCPWM |
2, six PWM outputs |
✖️ |
✖️ |
2, six PWM outputs |
USB OTG |
✖️ |
1 |
✖️ |
1 |
TWAI® controller (compatible with ISO 11898-1) |
1 |
1 |
1 |
1 |
SD/SDIO/MMC host controller |
1 |
✖️ |
✖️ |
1 |
SDIO slave controller |
1 |
✖️ |
✖️ |
✖️ |
Ethernet MAC |
1 |
✖️ |
✖️ |
✖️ |
ULP |
ULP FSM |
PicoRV32 core with 8 KB SRAM, ULP FSM |
✖️ |
PicoRV32 core with 8 KB SRAM, ULP FSM |
Debug Assist |
✖️ |
✖️ |
1 |
✖️ |
Security |
||||
Secure boot |
✔️ |
✔️ Faster and safer, compared with ESP32 |
✔️ Faster and safer, compared with ESP32 |
✔️ Faster and safer, compared with ESP32 |
Flash encryption |
✔️ |
✔️ Support for PSRAM encryption. Safer, compared with ESP32 |
✔️ Safer, compared with ESP32 |
✔️ Support for PSRAM encryption. Safer, compared with ESP32 |
OTP |
1024-bit |
4096-bit |
4096-bit |
4096-bit |
AES |
✔️ AES-128, AES-192, AES-256 (FIPS PUB 197) |
✔️ AES-128, AES-192, AES-256 (FIPS PUB 197); DMA support |
✔️ AES-128, AES-256 (FIPS PUB 197); DMA support |
✔️ AES-128, AES-256 (FIPS PUB 197); DMA support |
HASH |
SHA-1, SHA-256, SHA-384, SHA-512 (FIPS PUB 180-4) |
SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256, SHA-512/t (FIPS PUB 180-4); DMA support |
SHA-1, SHA-224, SHA-256 (FIPS PUB 180-4); DMA support |
SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256, SHA-512/t (FIPS PUB 180-4); DMA support |
RSA |
Up to 4096 bits |
Up to 4096 bits |
Up to 3072 bits |
Up to 4096 bits |
RNG |
✔️ |
✔️ |
✔️ |
✔️ |
HMAC |
✖️ |
✔️ |
✔️ |
✔️ |
Digital signature |
✖️ |
✔️ |
✔️ |
✔️ |
XTS |
✖️ |
✔️ XTS-AES-128, XTS-AES-256 |
✔️ XTS-AES-128 |
✔️ XTS-AES-128, XTS-AES-256 |
Other |
||||
Deep-sleep (ULP sensor-monitored pattern) |
100 μA (when ADC work with a duty cycle of 1%) |
22 μA (when touch sensors work with a duty cycle of 1%) |
No such pattern |
TBD |
Size |
QFN48 5*5, 6*6, depending on variants |
QFN56 7*7 |
QFN32 5*5 |
QFN56 7*7 |
Note 1: Reduced chip area compared with ESP32
Note 2: Reduced chip area compared with ESP32 and ESP32-S2
Note 3: Die size: ESP32-C3 < ESP32-S2 < ESP32-S3 < ESP32