In this entry, we are going to talk about the new ESP32-C3, the new processor from Espressif set to replace the popular ESP8266 after several years of success and good service.
In 2020, Espressif announced its intention to send some development kits of its new SoC to a few testers. This DevKit is still preliminary, as it is an engineering sample to test the new ESP32-C3.
In particular, the manufacturer reports that the deep sleep power mode is superior, and that the USB Serial/JTAG functionality is not yet working. These are features, of course, that will be available in the final version.
However, aside from these two points, the DevKit is an operational and fully functional product. And those of you with whom we have the pleasure of conversing on Twitter and other social networks know that I was very, very (a lot!) eager to try it.
So after a wait that was more due to anxiety than length, it felt eternal—finally, it has arrived! And we can now start testing and tinkering with this new little device that will almost certainly become a regular component in the field.
A Little History
In case you have been completely disconnected from the microprocessor world and do not know what the ESP8266 and the ESP32 are, we remind you that both are SoCs that incorporate WiFi communication.
Until a few years ago, adding WiFi connectivity to our project was really expensive. The few existing solutions cost around €50, just to have a Shield to connect, for example, an Arduino to a WiFi network.
This changed in 2014 with the emergence of the ESP8266, an SoC from Espressif that provided WiFi connectivity. As we have mentioned, the ESP8266 is the natural predecessor of the ESP32-C3 that we are discussing today.
The first available module of the ESP8266 was the ESP-01 from the company AI-Thinker. At that time, it was used only as a WiFi module, and its configuration was done via AT commands over Serial. However, a part of the community saw its potential as an independent processor, and not just as a module.
Since then, a lot has happened, and the ESP8266 has gained significant popularity in both home projects and commercial products. Many of the IoT devices we know, such as the range of Sonoff products, incorporate an ESP8266 or ESP8265 inside.
With the success obtained with the ESP8266, Espressif launched its bigger brother, the ESP32 in 2016. Its technical features are much superior, as we saw in this entry. Since then, both projects have achieved great popularity and have significantly reduced their prices.
Not much else happened in ‘the scene’ until late 2020, when Espressif announced the replacement of the ESP8266 with a new low-cost model of ESP32, called ESP32-C3. In this way, it unifies its products under a single range.
Analyzing the ESP32-C3
Under the ESP32-C3, we find a single-core SoC based on Open Source RISC-V architecture (Risk-Five), capable of operating at up to 160 MHz.
This is an interesting change compared to Espressif’s usual products, which used a Tensilica Xtensa processor based on MIPS. Both MIPS and RISC-V are based on RISC (Reduced instruction set computing), but in the case of RISC-V, the instruction set is Open and Free.
The new processor of the ESP32-C3 has a performance that is 10-15% higher per cycle compared to its predecessor. This means a slight speed increase compared to the ESP8266 and the ESP32 at the same frequency.
Logically, if we put an ESP32 at its maximum frequency of 240 MHz and take advantage of the dual-core, it stands out easily compared to the rest.
On the other hand, the ESP32-C3 features 384 KB ROM, 400 KB SRAM (16 KB for cache). This means more than triple the memory of the ESP8266 and slightly less than an ESP32, which includes 512 kB SRAM.
However, keep in mind that not all of this memory is actually available, and you should expect a reduction in free SRAM for your programs. For example, in an ESP32, the memory available after loading the program is approximately 350 KB.
The set is completed with WiFi and Bluetooth LE 5.0 connectivity. This is a welcomed new feature compared to the ESP8266, which lacked Bluetooth, something that its bigger brother ESP32 does have.
Finally, in terms of peripherals, the EPS32-C3 has 22 GPIOs, 2 ADCs of 12 bits, a temperature sensor, 3 SPIs, 2 UARTs, one I2C, and one I2S.
These are intermediate characteristics compared to the ESP8266 (16 GPIOs, 1 ADC 10 bits, SPI, UART, I2C, I2S) and the mighty ESP32 (36 GPIOs, 12-channel ADCs, 2 DACs, 4 SPIs, 3 UARTs, 2 I2Ss, 2 I2Cs, CAN Bus, hall sensor, touch… etc etc etc).
However, take these data with caution, especially the number of GPIOs. It is known that, after discounting the pins used for memory and the “problematic” ones involved in booting, the ESP8266 actually has 5 “available” pins, and the ESP32 has about 18.
In the case of the EPS32-C3, pending complete information, it is expected that we will have about 8-10 “available” GPIOs. This, on the other hand, is double that of an ESP8266, and eliminates a major limitation of the ESP8266 when it comes to making projects.
In terms of price, it is said that in wholesale the ESP32-C3 will have a price of less than €1. This should allow for development boards in a range similar to those existing for the ESP8266, say around €2.
By comparison, we can find boards with the ESP32 for about €3.5-4. Therefore, for home projects, it may not be as appealing, but in the industrial field, where units are counted in thousands and every cent matters, it is likely that the EPS32-C3 will soon find its market share.
This will be aided by the fact that, according to Espressif, the pinout of the EPS32-C3 has been designed to be compatible with the ESP8266. A logical decision, as it aims to be a direct replacement for it.
In terms of software, the ESP-IDF environment has already been adapted for the EPS32-C3. You can find the ESP-IDF code on GitHub at this link https://github.com/espressif/esp-idf, including all the examples that have already been adapted for the ESP32-C3 https://github.com/espressif/esp-idf/tree/master/examples
Most of the available code for the ESP8266 should be directly compatible, as well as those programs from the ESP32 that do not utilize its specific hardware (like the dual core, for example).
Conclusion
In my opinion, Espressif has done it again. If it wanted a replacement for its popular ESP8266 and to unify the product range, the ESP32-C3 is a success. It is a true ESP8266 killer.
Maintaining a similar price and much superior features, halfway between an ESP8266 and an ESP32, it is hard to conceive the continuity of its predecessor.
A renewal, on the other hand, that was about time. The ESP8266 has been with us for over 7 years, and the requirements in IoT applications have increased considerably in that time.
There is still a way to go for the ESP32-C3. The software is not fully adapted, and even Espressif warns in its testing kit that power consumption functions are not fully functional.
We must wait for development boards and commercial products that incorporate this new SoC to be developed. But, basically, say goodbye to the ESP266 because everything points to the fact that the ESP32-C3 has come to stay.