Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save mattytrentini/e6817c2aced6e2878636a44d20f7cf90 to your computer and use it in GitHub Desktop.
Save mattytrentini/e6817c2aced6e2878636a44d20f7cf90 to your computer and use it in GitHub Desktop.
Comparison table for ESP32 variants

Comparison table for ESP8266/ESP32/ESP32-S2/ESP32-S3/ESP32-C3/ESP32-C6

A minimal table to compare the Espressif's MCU families.

ESP32 ESP32-S2 ESP32-S3 ESP32-C2 ESP32-C3 ESP32-C5 ESP32-C6 ESP32-H2 ESP32-H4
Announcement Date 2016, September 2019, September 2020, December ? 2020, November ? 2021, April ? ?
Main processor Tensilica Xtensa 32-bit LX6 (up to 240MHz) (optionally dual core) Tensilica Xtensa 32-bit LX7 (up to 240MHz) Tensilica Xtensa 32-bit LX7 dual core (up to 240MHz) ? RISC-V 32-bit (up to 160MHz) ? RISC-V 32-bit (up to 160MHz) ? ?
SRAM 520KB 320KB 512KB ? 400KB ? 400KB ? ?
ROM 448KB 128KB 384KB ? 384KB ? 384KB ? ?
JTAG ? ? ? ? ?
Cache 64KB 8/16KB (configurable) ? ? 16KB ? ? ? ?
WiFi Wi-Fi 4 Wi-Fi 4 Wi-Fi 4 Wi-Fi 4 Wi-Fi 4 Wi-Fi 4 Wi-Fi 6 Wi-Fi 4 Wi-Fi 4
Bluetooth BLE 4.2 (upgrade to 5.0, with limitations) X BLE 5.0 BLE 5.0 BLE 5.0 BLE 5.0 BLE 5.0 BLE 5.0 BLE 5.0
Ethernet X ? ? X ? ? ? ?
RTC memory 16KB 16KB 16KB ? 8KB ? ? ? ?
PMU ? ? ? ? ? ?
ULP coprocessor ULP-RISC-V ? ? X ? ? ? ?
Cryptographic Accelerator SHA, RSA, AES, RNG SHA, RSA, AES, RNG, HMAC, Digital Signature SHA, RSA, AES, RNG, HMAC, Digital Signature SHA, RSA, AES, RNG, HMAC, Digital Signature SHA, RSA, AES, RNG, HMAC, Digital Signature SHA, RSA, AES, RNG, HMAC, Digital Signature SHA, RSA, AES, RNG, HMAC, Digital Signature SHA, RSA, AES, RNG, HMAC, Digital Signature SHA, RSA, AES, RNG, HMAC, Digital Signature
Secure boot
Flash encryption XTS-AES-128/256 XTS-AES-128 XTS-AES-128
SPI 4 4 ? ? 3 ? ? ? ?
I2C 2 2 ? ? 1 ? ? ? ?
I2S 2 1 ? ? 1 ? ? ? ?
UART 3 2 ? ? 2 ? ? ? ?
SDIO Host 1 0 2 2 0 2 0 2 2
SDIO Slave 1 0 0 0 0 0 0 0 0
GPIO 34 43 44 ? 22 ? 22 ? ?
LED PWM 16 8 ? ? 6 ? ? ? ?
MCPWM 6 0 2 2 0 2 0 2 2
Pulse counter 8 4 ? ? 0 ? X ? ?
GDMA* 0 0 ? ? 6 ? ? ? ?
USB X USB OTG 1.1 ? ? Serial/JTAG ? ? ? ?
TWAI** 1 1 ? ? 1 ? ? ? ?
ADC 2x 12-bit SAR, up to 18 channels 2x 13-bit SAR, up to 20 channels ? ? 2x 12-bit SAR, up to 6 channels ? ? ? ?
DAC 2x 8-bit 2x 8-bit ? ? X ? X ? ?
RMT 8x transmission/reception 4x transmission/reception ? ? 2x transmission + 2x reception ? ? ? ?
Timer 4x 64-bit 4x 64-bit ? ? 2x 54-bit + 1x 52-bit ? ? ? ?
Temperature Sensor ? ? ? ? ? ?
Hall Sensor X ? ? X ? ? ? ?
Touch Sensor 10 14 ? ? X ? ? ? ?

* All the MCUs have some sort of DMA. However, if this field is not checked, it means that the user hasn't the direct control over DMA. With General DMA term, Espressif intends a specific DMA peripheral in full control of user. He will be responsible to manage such peripheral.

** In some old datasheet and documentation, it was referred as CAN bus.

*** A timer is dedicated to Wi-Fi, so you cannot freely use it.

For more details about specific models and variants, look at Espressif Product Selector.

The table will be updated as new information will be released. Contributions and suggestions are welcomed!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment