A minimal table to compare the Espressif's MCU families and wireless-tag.com WT32-ETH01 with RJ45 onboard and WT32-S1 Module.
ESP8266 | ESP32 | ESP32-S2 | ESP32-S3 | ESP32-C3 | ESP32-C6 | WT32-ETH01 (WT32-S1) | |
---|---|---|---|---|---|---|---|
Announcement Date | 2014, August | 2016, September | 2019, September | 2020, December | 2020, November | 2021, April | 2019, March |
Main processor | Tensilica L106 32-bit (up to 160MHz) | 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) | Xtensa® 32-bit LX6 dual core (240MHz) |
SRAM | 160KB | 520KB | 320KB | 512KB | 400KB | 400KB | 520KB |
ROM | 0 | 448KB | 128KB | 384KB | 384KB | 384KB | 448KB |
Flash Memory | 1MB (8Mbit) | 4MB | 4MB | 32MB | 4MB | 4MB | 4MB (32Mbit) |
JTAG | X | ✓ | ✓ | ? | ✓ | ✓ | ✓ |
Cache | 32 KB instruction | 64KB | 8/16KB (configurable) | ? | 16KB | ? | ✓ |
WiFi | Wi-Fi 4 (only up to 72.2Mbps) | Wi-Fi 4 | Wi-Fi 4 | Wi-Fi 4 | Wi-Fi 4 | Wi-Fi 6 | Wi-Fi 4 (up to 150Mbps) |
Bluetooth | X | BLE 4.2 (upgrade to 5.0, with limitations) | X | BLE 5.0 | BLE 5.0 | BLE 5.0 | BLE 4.2 |
Ethernet | X | ✓ | X | ? | X | ? | Integrated |
Ethernet | X | X | X | X | X | X | IPv4, TCP/UDP |
RTC memory | 768B | 16KB | 16KB | 16KB | 8KB | ? | 16KB |
PMU | ✓ | ✓ | ✓ | ? | ✓ | ? | ✓ |
ULP coprocessor | X | ✓ | ULP-RISC-V | ? | X | ? | ✓ |
Cryptographic Accelerator | X | 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, ECC |
Secure boot | X | ✓ | ✓ | ✓ | ✓ | ✓ | X |
Flash encryption | X | ✓ | XTS-AES-128/256 | ✓ | XTS-AES-128 | XTS-AES-128 | ✓ |
SPI | 2 | 4 | 4 | ? | 3 | ? | 4 |
I2C | 1 | 2 | 2 | ? | 1 | ? | 2 |
I2S | 1 | 2 | 1 | ? | 1 | ? | 2 |
UART | 2 (one TX only) | 3 | 2 | ? | 2 | ? | 3 |
SDIO Host | 0 | 1 | 0 | 2 | 0 | 0 | 1 |
SDIO Slave | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
GPIO | 17 | 34 | 43 | 44 | 22 | 22 | 33 |
LED PWM | 5 | 16 | 8 | ? | 6 | ? | 16 |
MCPWM | 0 | 6 | 0 | 2 | 0 | 0 | 6 |
Pulse counter | 0 | 8 | 4 | ? | 0 | X | ? |
GDMA* | 0 | 0 | 0 | ? | 6 | ? | 0 |
USB | X | X | USB OTG 1.1 | ? | Serial/JTAG | ? | X |
TWAI** | 0 | 1 | 1 | ? | 1 | ? | ? |
ADC | 1x 10-bit SAR | 2x 12-bit SAR, up to 18 channels | 2x 13-bit SAR, up to 20 channels | ? | 2x 12-bit SAR, up to 6 channels | ? | 2x12-bit SAR ADCs |
DAC | X | 2x 8-bit | 2x 8-bit | ? | X | X | 2x 8-bit |
RMT | 1x transmission + 1x reception | 8x transmission/reception | 4x transmission/reception | ? | 2x transmission + 2x reception | ? | 8x transmission/reception |
Timer | 2x 23-bit*** | 4x 64-bit | 4x 64-bit | ? | 2x 54-bit + 1x 52-bit | ? | 4x 64-bit |
Temperature Sensor | ✓ | ✓ | ✓ | ? | ✓ | ? | ✓ |
Hall Sensor | X | ✓ | X | ? | X | ? | ✓ |
Touch Sensor | 0 | 10 | 14 | ? | X | ? | 10 |
* 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.
For more modules, look at wireless-tag Products.
The table will be updated as new information will be released. Contributions and suggestions are welcomed!