probamos-el-nuevo-esp32-c3-el-sustituto-del-esp8266

We tried the new ESP32-C3, the replacement for the ESP8266

  • 7 min

In this post, 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 communicated 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 I have the pleasure of chatting with on Twitter and other social networks know that I was very, very (very!) eager to try it.

So after a wait that, more due to eagerness than length, felt eternal… It has finally arrived! And we can now start testing and tinkering with this new little device that will almost certainly become a common component in the scene.

A Bit of History

In case you have been really disconnected from the microcontroller scene and don’t know what the ESP8266 and ESP32 are, let’s remember 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 for a Shield to connect, for example, an Arduino to a WiFi network.

This changed in 2014 with the appearance of the ESP8266, an SoC from manufacturer Espressif that provided WiFi connectivity. As mentioned, the ESP8266 is the natural predecessor of the ESP32-C3 we are discussing today.

esp32-c3-2

The first available ESP8266 module was the ESP-01 from AI-Thinker. At that time, it was used solely as a WiFi module and its configuration was done via AT commands over Serial. However, a part of the community saw its potential as a standalone processor, not just as a module.

A lot has happened since then, and the ESP8266 has gained great popularity both in domestic projects and commercial products. Many of the IoT devices we know, such as the Sonoff product line to name just one, incorporate an ESP8266 or ESP8265 inside.

With the success achieved with the ESP8266, Espressif launched its bigger brother, the ESP32 in 2016. Its technical specifications are far superior, as we saw in this post. Since then, both projects have achieved great popularity and substantially decreased in price.

Not much else happened in ‘the scene’ until the end of 2020, when Espressif announced the replacement of the ESP8266 with a new low-cost ESP32 model, called the ESP32-C3. This way, it unifies its products under a single range.

Analyzing the ESP32-C3

Under the hood, the ESP32-C3 is a single-core SoC based on the Open Source RISC-V (Risk-Five) architecture, capable of running up to 160 MHz.

This is an interesting change compared to Espressif’s usual products, which mounted 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.

esp32-c3-datasheet

The new ESP32-C3 processor has a 10-15% higher performance per cycle compared to its predecessor. This means a slight speed increase compared to the ESP8266 and ESP32 at the same frequency.

Logically, if we run an ESP32 at its maximum frequency of 240MHz and take advantage of the dual core, it shows off and easily differentiates itself from the rest.

On the other hand, the ESP32-C3 mounts 384 KB ROM, 400 KB SRAM (16 KB for cache). This means more than triple the memory of the ESP8266, and a bit less than an ESP32, which incorporates 512 kB SRAM.

However, keep in mind that not all this memory is actually available, and you should expect a reduction in free SRAM for your programs. For example, in an ESP32, the available memory after loading the program is approx. 350KB.

The package is completed with WiFi connectivity and Bluetooth LE 5.0. This is a welcome novelty compared to the ESP8266, which lacked Bluetooth, a feature that its bigger brother ESP32, of course, does have.

Finally, in terms of peripherals, the ESP32-C3 has 22 GPIOs, 2 12-bit ADCs, a temperature sensor, 3 SPI, 2 UART, one I2C, and one I2S.

esp32-c3-4

These are intermediate characteristics compared to the ESP8266 (16 GPIO, 1 10-bit ADC, SPI, UART, I2C, I2S) and the all-powerful ESP32 (36 GPIO, 12-channel ADC, 2 DAC, 4 SPI, 3 UART, 2 I2S, 2 I2C, CAN Bus, Hall sensor, touch… etc etc etc).

However, take these figures with caution, especially the number of GPIOs. It is known that, after discounting the pins used for memory and those “conflicting” due to involvement in booting, the ESP8266 really has only about 5 truly “available” pins, and the ESP32 about 18.

In the case of the ESP32-C3, pending complete information, it is foreseeable that we will have about 8-10 truly “available” GPIOs. Which, on the other hand, is double that of an ESP8266 and removes a major limitation of the ESP8266 when undertaking projects.

Regarding price, it is said that in wholesale the ESP32-C3 will have a price below €1. This should allow development boards in a range similar to existing ones for the ESP8266, let’s say around €2.

For comparison, we can find boards with the ESP32 for about €3.5-4. So, for domestic projects it might not be so striking, but in the industrial field where units are counted by the thousands and every cent matters, it is easy for the ESP32-C3 to soon find its market share.

This will be helped by the fact that, according to Espressif, the pinout of the ESP32-C3 has been designed to be compatible with the ESP8266. A logical decision, as it aims to be a direct replacement for it.

Regarding software, the ESP-IDF environment has already been adapted for the ESP32-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

esp32-c3-3

Most of the code available for the ESP8266 should be directly compatible, as well as ESP32 programs that do not use its specific hardware (such as 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 hit. It’s a true ESP8266 killer.

Maintaining a similar price and far superior characteristics, halfway between an ESP8266 and an ESP32, it’s hard to conceive the continuity of its predecessor.

A renewal, by the way, that was due. The ESP8266 has been with us for over 7 years, and the requirements in IoT applications have increased considerably in this time.

There is still a way to go for the ESP32-C3. The software is not fully adapted, and even Espressif warns in its test kit that the power consumption functions are not fully functional.

We still need to wait for development boards and commercial products that mount this new SoC to be developed. But, basically, start saying goodbye to the ESP8266 because everything indicates that the ESP32-C3 is here to stay.