Exploring the ESP32 versions. Differences and similarities.
Learn about different ESP32 microcontrollers series versions. Differences, similarities and the upgrade path - the esp32 versions comparison
ESP32 is a series of SoCs, that has become known for its integrated WiFi and Bluetooth while keeping its low cost. The ESP32 is designed and manufactured by Espressif Systems, the Chinese semiconductor company that specializes in the design and production of Wi-Fi and Bluetooth-enabled microcontrollers and systems-on-a-chip or SoCs.
Since the original ESP32 release, plenty of different versions of ESP32 were released. Starting with the already available SoCs, such as ESP32-S2, ESP32-S3, ESP32-C3, ESP32-C5 and ESP32-C6 and finishing with the latest announcements, such as ESP32-H2 and ESP32-P4.
In this post, we will explore the currently available ESP32 microcontrollers on the market. We will go through the different versions of ESP32 by the release date, do the esp32 version comparison and will see their differences, similarities and the upgrade path, from the original ESP32 to the newest ESP32-C5:
ESP32 Series #
ESP32 is the original ESP microcontroller, that was launched in 2016. It features the Xtensa dual-core 32bit LX6 processor, that provides a clock frequency of up to 240 MHz.
When it comes to memory, it has 520 KB of SRAM, 448 KB ROM and up to 4 MB Flash memory.
The ESP32 chip supports 2.4 GHz WiFi (IEEE 802.11 b/g/n), which has speeds up to 150 Mbps and Bluetooth Low Energy (BLE) 4.2.
The original ESP32 in deep-sleep mode consumes around 100uA power.
Check ESP32 Series boards with USB-C.
ESP32S2 Series #
ESP32-S2 is the next version of the ESP32 microcontroller, that was launched in 2020. It is the successor to the ESP32 chip, focusing its design for low-power and high-performance applications. The ESP32S2 features a single-core 32bit Xtensa LX7 processor, that provides the same clock frequency, as the previous Xtensa LX6, of up to 240 MHz.
As the ESP32-S2 is more focused on low power, it has less SRAM, which comes at 320 KB, 128 KB ROM and up to 4 MB flash memory.
The ESP32S2 chip supports 2.4 GHz WiFi (802.11 b/g/n)**, which provides a speed of up to 150 MBps, but unlike the original ESP32 does not have integrated Bluetooth.
Compared to the original ESP32, the ESP32S2 consumes 5 times less power in deep-sleep mode, specifically rated at 22uA.
Check ESP32-S2 Series boards with USB-C.
ESP32S3 Series #
At the end of 2020, the same year as the ESP32-S2 was launched, Espressif Systems also announced the ESP32-S3 chip. It comes with the same Xtensa dual-core 32bit LX7 processor, as the ESP32S2, and has the same clock speed of up to 240 MHz.
The ESP32-S3 provides a similar amount of processing memory to the original ESP32, specifically 512 KB of SRAM, 384 KB ROM and double the size of flash memory of up to 8 MB.
The ESP32S3 chip supports 2.4 GHz WiFi (802.11 b/g/n), with a speed of up to 150 MBps and Bluetooth Low Energy (BLE) 5.0.
The main difference, compared to the previous versions of ESP32 is the AI Acceleration Support, which provides the acceleration for neural network computing and signal processing.
Check ESP32-S3 Series boards with USB-C.
ESP32C3 Series #
The same year, as the ESP32S2 and ESP32S3 were released, Espressif Systems also released the ESP32C3. It is the first ESP32 chip, that comes with the RISC-V. ESP32-C3 features a single-core 32bit RISC-V processor, that has a clock speed of 160 MHz.
The ESP32C3 provides 400 KB of SRAM, 384 KB ROM and up to 4 MB flash memory.
This chip supports the 2.4 GHz WiFi (802.11 b/g/n), with the same up to 150 MBps speed as the previous versions and the Bluetooth Low Energy (BLE) 5.0.
The ESP32C3's main focus is security and provides the features, such as Secure Boot, Flash Encryption, Digital Signature and HMAC Peripheral.
Check ESP32-C3 Series boards with USB-C.
ESP32C6 Series #
The next version of the ESP32 microcontrollers, the ESP32-C6, was released in 2021. It comes with the same single-core 32-bit RISC-V processor, as the ESP32C3 and has a clock frequency of 160 MHz.
When it comes to memory, it has 512 KB of SRAM, 320 KB ROM and up to 4 MB Flash memory.
The ESP32C6 is the first ESP chip, that comes with the 2.4 GHz WiFi 6 (802.11ax) and also supports the 802.11 b/g/n for backward compatibility. Additionally, it comes with the Bluetooth Low Energy (BLE) 5.3 radio.
This chip's main focus is connectivity. It comes with WiFi 6 support and supports the OFDMA (Orthogonal Frequency Division Multiple Access) and MU-MIMO capabilities to work with low latency networks in highly congested wireless environments.
Also, the ESP32C6 provides 802.15.4 radio connectivity, used by Thread and Zigbee protocols. It enables the Matter-compliant WiFi endpoint devices and Thread endpoint devices.
Check ESP32-C6 Series boards with USB-C.
ESP32C2 Series #
One of the latest ESP32 versions, the ESP32-C2 was released in 2022. It comes with a 32-bit single-core RISC-V processor, with a frequency of 120 MHz.
The ESP32C2 provides 272 KB of SRAM, 576 KB ROM and up to 4 MB flash memory.
This chip supports a 2.4 GHz WiFi (802.11 b/g/n), with a speed of up to 150 MBps and a Bluetooth Low Energy (BLE) 5.0.
This ESP version comes in a small package with a size of 4mm x 4mm while keeping robust connectivity options and security standards.
ESP32C5 Series #
The latest ESP release by Espressif Systems, as of today, is the ESP32C5, which was released in 2023. It comes with the 32-bit single-core RISC-V, which provides a clock frequency of 240 MHz.
It comes with the same sizes of memory, as the ESP32C3 - 400 KB SRAM, 384 KB ROM and up to 4 MB flash memory.
The main focus of this chip is again the connectivity improvements. It is the first ESP32 chip, that supports the 5 GHz WiFi 6 (802.11ax), together with the 802.11 b/g/n for backwards compatibility. If you want to read more about the ESP32-C5 WiFi, you can check our Connecting ESP32 to 5 GHz WiFi post. Also, ESP32-C5 provides Bluetooth Low Energy (BLE) 5.2 connectivity.
As mentioned, ESP32-C5 provides the WiFi 6 with 5 GHz frequency, which allows the development of IoT projects with more stability, lower latency and lower congestion wireless connection.
It is worth noting, that the ESP32-C5 currently is exclusive and very hard to find on the market.
ESP32 versions comparison #
To get a better view of the similarities and differences between the ESP32 microcontrollers, discussed above, let's take a look at the esp32 comparison table, or more specifically the esp32 version comparison:
ESP32 | ESP32S2 | ESP32S3 | ESP32C2 | ESP32C3 | ESP32C5 | ESP32C6 | |
---|---|---|---|---|---|---|---|
Release date | 2016 | 2020 | 2020 | 2022 | 2020 | 2022 | 2021 |
Processor | Xtensa dual-core 32bit LX6 | Xtensa single-core 32bit LX7 | Xtensa dual-core 32bit LX7 | 32bit single-core RISC-V | 32bit single-core RISC-V | 32bit single-core RISC-V | 32bit single-core RISC-V |
Frequency | 240 MHz | 240MHz | 240 MHz | 120 MHz | 160 MHz | 240 MHz | 160 MHz |
SRAM | 520 KB | 320 KB | 512 KB | 272 KB | 400 KB | 400 KB | 512 KB |
ROM | 448 KB | 128 KB | 384 KB | 576 KB | 384 KB | 384 KB | 320 KB |
Flash | Up to 4 MB | Up to 4 MB | Up to 8 MB | Up to 4 MB | Up to 4 MB | Up to 4 MB | Up to 4 MB |
WiFi | 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 | 802.11 b/g/n, 2.4 GHz | 802.11 ax, 5.0 GHz | 802.11 ax, 2.4 GHz |
Bluetooth | BLE 4.2 | x | BLE 5.0 | BLE 5.0 | BLE 5.0 | BLE 5.2 | BLE 5.3 |
GPIO | 34 | 43 | 45 | 14 | 22 | 20 | 30 |
ADC | Two 12-bit, 18 channels | Two 13-bit, 20 channels | Two 12-bit, 20 channels | One 12-bit, 5 channels | Two 12-bit, 6 channels | One 12-bit, x channels | One 12-bit, 7 channels |
DAC | Two 8-bit channels | Two 8-bit channels | x | x | x | x | x |
SPI | 4 | 4 | 4 | 3 | 3 | 2 | 2 |
I2C | 2 | 1 | 2 | 1 | 1 | 2 | 2 |
I2S | 2 | 1 | 2 | 1 | 1 | 1 | 1 |
RMT | 8 channels | 4 channels | 8 channels | 4 channels | 2 channels | 2 channels | |
Touch sensor | 10 | 14 | 14 | x | x | x | x |
Hall sensor | 1 | x | x | x | x | x | x |
LCD Interface | 1 | 1 | 1 | x | x | x | x |
Camera Interface | 1 | 1 | 1 | x | x | x | x |
Deep sleep | 100uA | 22uA | 7uA | 5uA | 5uA | 5uA | 7uA |
Size | 5x5mm or 6x6mm | 7x7mm | 7x7mm | 4x4mm | 5x5mm | 5x5mm | 5x5mm |
Other features | 802.15.4 (Thread, Zigbee) |
From the esp32 comparison, we can see that the original ESP32 series and ESP32-S series come with the Xtensa processor and has 240 MHz frequency, while the ESP32-C series comes with the RISC-V processor and has clock frequencies ranging from 120 MHz to 240 MHz.
All the chips provide similar processing memory sizes, but the ESP32S2 comes with the lowest SRAM size of 272 KB, while the ESP32S2 has the lowest ROM size of 128 KB. If you need more processing memory, the ESP32C6 could be a great option with 512 KB SRAM and 320 KB ROM. Every option comes with a similar embedded flash size also, of up to 4 MB, while the ESP32S3 provides a flash size of up to 8 MB.
Every ESP32 chip option comes with inbuilt WiFi (802.11 b/g/n), and the notable options are the ESP32-C6, because of the provided WiFi 6 (802.11 ax) with 2.4 GHz frequency, and the ESP32-C5, which comes with the WiFi 6 with the 5 GHz frequency option.
Most of the ESP32 versions, also come with built-in Bluetooth, except for the ESP32S2. It is worth mentioning that the original ESP32 release supports BLE 4.2 version, while the ESP32S3, ESP32C2 and ESP32C3 support the BLE 5.0 and the newest options, the ESP32C5 BLE 5.2 version and ESP32C6 the newest BLE 5.3.
Different versions have a different amount of GPIO pins and while the ESP32C2 provides only 14 pins, the ESP32S3 comes with 45 GPIO pins. You can find more details about the provided pins of different ESP32 versions in the table above.
The next important thing to consider is the power consumption in deep-sleep mode. The original ESP32 consumes around 100uA in deep sleep, while the newer ESP32S2 reduced the deep sleep power consumption almost 5 times, to 22uA. And the newer versions of ESP32 drop the power consumption in deep sleep to around 5uA.
Because of the different features and different amounts of pins provided, the ESP32 comes in various package sizes. The smallest ESP32 chip, the ESP32C2 comes at 4mm x 4mm, while other ESP32-C series versions come at 5mm x 5mm. The ESP32-S series are a bit bigger and comes at 7mm x 7mm size, but at the same time provides way more GPIO pins.
The final difference, we must mention is the connectivity options provided by ESP32C6. Apart from the WiFi 6 and BLE 5.3, it comes with the 802.15.4 radio connectivity, that is used by Thread and Zigbee protocols.
Versus Battles #
With all these different ESP32 options, often comes questions like "So what's the difference between ESP32 and ESP32-S2" and similar. Therefore, let's take a look at some of the Versus Battles
esp32 vs esp32 s2 #
One of the main differences between ESP32 and ESP32 S2 is that the ESP32 has dual-core LX6 Processor, while the ESP32-S2 has only single-core LX7 CPU. Moreover, the original ESP32 has more ROM and SRAM, but the same Flash memory as ESP32-S2. Another important thing to consider is that the ESP32-S2 does not provide a Bluetooth connectivity. ESP32-S2 has a significantly lower power consumption.
esp32 vs esp32 s3 #
Both comes with dual-core CPU, but the ESP32 has older LX6 processor, while the S3 has a newer LX7 processor. Additionally, ESP32 S3 comes with Bluetooth Low Energy 5.0 version, while the original ESP32 comes with an older BLE 4.2 version. ESP32-S3 brings the power consumption down from the original ESP32 more than 10 times!
esp32 vs esp32 c3 #
ESP32-C3 comes with a single-core RISC-V architecture CPU, while the other ESP32 versions uses a Tensilica LX architecture. ESP32 has a smaller form-factor - 4x4mm instead of the 6x6mm on the original ESP32
esp32 c3 vs esp32 s3 #
Same as with the ESP32 vs ESP32-C3, the main difference is the processor and architecture - LX7 on S3, compared to the RISC-V on the ESP32-C3.
esp32 s2 vs s3 #
Again, the ESP32-S2 is a less powerful version than the ESP32-S3. It comes with a single-core CPU, while the S3 version provides dual-core processor. Both have BLE 5.0 and similar power consumption, but the ESP32 S3 has lower power consumption, even though comes with much more processing power.
esp32 vs esp32 c6 #
ESP32-C6, same as the other C series versions, comes with a RISC-V architecture, instead of the Xtensa on the original ESP32. Also ESP32 C6 provides a BLE 5.3 and 802.15.4 (Thread, Zigbee) connection! While the original ESP32 provides only BLE 4.2.
Conclusion #
We have explored the different versions of ESP32 SoCs and their features, differences and similarities. Hopefully, you should now have a better background on the ESP32 options and their provided specifications, connectivity options, peripherals and more. To conclude, in our opinion, there is no best ESP32 microcontroller, as it all comes to the needs, features and requirements of your project.