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

ESP32-C3, el ESP32 de bajo coste con RISC-V

  • 7 min

El ESP32-C3 es un SoC RISC-V de bajo coste de Espressif, pensado como evolución natural para muchos proyectos que antes habríamos resuelto con un ESP8266.

Cuando apareció, Espressif lo presentó como una pieza muy interesante para cubrir el hueco del ESP8266: WiFi, Bluetooth LE, más memoria, mejores periféricos y una arquitectura más moderna.

El ESP32-C3 ya es una familia estable dentro del catálogo de Espressif. Entre sus características actuales están WiFi 2.4 GHz, Bluetooth LE 5, USB Serial/JTAG integrado y modos de bajo consumo, incluyendo deep sleep.

En su momento lo probamos con muchas ganas (muchas, muchas) porque venía a resolver una pregunta muy práctica: ¿qué chip usamos cuando queremos algo barato como el ESP8266, pero con una plataforma más moderna?

Así que vamos a repasar qué aporta el ESP32-C3 y por qué se ha convertido en una opción muy interesante para proyectos IoT de bajo coste.

Un poquito de historia

Por si habéis estado realmente desconectados del mundillo de los microprocesadores, recordamos que tanto el ESP8266 como el ESP32 son SoC que incorporan comunicación WiFi.

Hasta hace unos pocos años dotar a nuestro proyecto de conectividad WiFi era realmente caro. Las pocas soluciones existentes rondaban los 50€, sólo para tener un Shield con el que conectar, por ejemplo, un Arduino a una red WiFi.

Esto cambió en 2014 con la aparición del ESP8266, un SoC del fabricante Espressif que aportaba conectividad WiFi. Como hemos comentado, el ESP8266 es el antecesor natural del ESP32-C3 que hoy nos ocupa.

esp32-c3-2

El primer módulo disponible del ESP8266 fue el ESP-01 de la empresa AI-Thinker. En esos tiempos, se empleaba únicamente como módulo WiFi y su configuración se realizaba mediante comandos AT por Serial. Sin embargo, una parte de la comunidad vio su potencial como procesador independiente, y no sólo como módulo.

Desde entonces ha llovido mucho, y el ESP8266 ha adquirido una gran popularidad tanto en proyectos domésticos como en productos comerciales. Muchos de los dispositivos IoT que conocemos, como la gama de productos Sonoff sin ir más lejos, incorporan un ESP8266 o ESP8265 en su interior.

Con el éxito obtenido con el ESP8266, Espressif lanzó su hermano mayor, el ESP32 en 2016. Sus características técnicas son muy superiores. Desde entonces ambos proyectos han alcanzado una gran popularidad, y disminuido sustancialmente su precio.

Más adelante, Espressif presentó el ESP32-C3 como modelo de bajo coste dentro de la familia ESP32. De esta forma, unificaba buena parte de su catálogo bajo una gama más moderna.

Analizando el ESP32-C3

Bajo el ESP32-C3 encontramos un SoC mono núcleo basado en arquitectura Open Source RISC-V (Risk-Five), capaz de funcionar hasta 160 Mhz.

Esto es un cambio interesante respecto a los productos habituales de Espressif, que montaban un procesador Tensilica Xtens basados en MIPS. Ambas, MIPS y RISC-V están basadas en RISC (Reduced instruction set computing) pero, en el caso de RISC-V el conjunto de instrucciones es Abierto y Libre.

esp32-c3-datasheet

El nuevo procesador del ESP32-C3 tiene un rendimiento 10-15% superior por ciclo respecto a su predecesor. Esto significa un incremento leve de velocidad respecto al ES8266 y al ESP32 a la misma frecuencia.

Lógicamente, si ponemos un ESP32 a su máxima frecuencia de 240Mhz y aprovechamos el doble núcleo, esta saca pecho y se diferencia con facilidad respecto al resto.

Por otro lado, el ESP32-C3 monta 384 KB ROM, 400 KB SRAM (16 KB para cache). Esto significa más del triple de memoria que el ESP8266, y un poquito menos que un ESP32, que incorpora 512 kB SRAM.

No obstante, tened en cuenta que no toda esta memoria está realmente disponible, y debéis esperad una reducción de SRAM libre para vuestros programas. Por ejemplo, en un ESP32 la memoria disponible tras cargar el programa es de aprox 350KB.

El conjunto se completa con conectividad WiFi y Bluetooth LE 5.0. Esto es una apreciada novedad respecto al ESP8266 que carecía de Bluetooth, algo con lo que por supuesto sí cuenta su hermano mayor ESP32.

Finalmente, en cuanto a periféricos, el EPS32-C3 cuenta con 22 GPIOs, 2 ADC de 12bits, sensor de temperatura, 3 SPI, 2 UART, un I2C y un I2S.

esp32-c3-4

Esto son características intermedias respecto al ESP8266 (16 GPIO, 1 ADC 10 bits, SPI, UART, I2C, I2S) y el todo poderoso ESP32 (36 GPIO, ADC 12 canales, 2 DAC, 4 SPI, 3 UART, 2 I2S, 2 I2C, Bus Can, sensor hall, táctil… etc etc etc).

No obstante, tomad estos datos con precaución, sobre todo el número de GPIOS. Es sabido que, tras descontar los pines empleados para la memoria y los “conflictivos” por intervenir en el arranque, el ESP8266 dispone realmente de 5 pines realmente “disponibles”, y el ESP32 de unos 18.

En el caso del EPS32-C3, a falta de completar la información, es previsible que dispongamos de unos 8-10 GPIO realmente “disponibles”. Lo cual, por otro lado, es el doble que un ESP8266, y elimina una gran limitación del ESP8266 a la hora de realizar proyectos.

En cuanto a precio, se dice que en venta al por mayor el ESP32-C3 tendrá un precio inferior a 1€. Esto debería permitir ver placas de desarrollo en rango similar a las existentes en para el ESP8266, digamos en torno a 2€.

Por comparación, podemos encontrar placas con el ESP32 por unos 3.5-4€. Por lo que, para proyectos domésticos puede que no sea tan llamativo, pero en el ámbito industrial donde las unidades se cuentan por millares y cada céntimo importa, es fácil que el EPS32-C3 encuentre pronto su cuota de mercado.

A esto ayudará que, según Espressif, el patillaje del EPS32-C3 se ha diseñado para ser compatible ESP8266. Una decisión lógica, ya que pretende ser un sustituto directo de este.

En cuanto a software, el entorno de ESP-IDF ya ha sido adaptado para el EPS32-C3. Tenéis el código del ESP-IDF en el GitHub de este enlace https://github.com/espressif/esp-idf, incluidos todos los ejemplos que ya han sido adaptados para el ESP32-C3 https://github.com/espressif/esp-idf/tree/master/examples

esp32-c3-3

La mayor parte del código disponible para el ESP8266 debería ser directamente compatible, así como aquellos programas del ESP32 que no hagan uso de su hardware específico (como el doble núcleo, por ejemplo).

Conclusión

En mi opinión, Espressif lo ha vuelto a hacer. Si quería un sustituyo de su popular ESP8266 y unificar la gama de productos, el ESP32-C3 es un acierto. Es un auténtico ESP8266 killer.

Manteniendo un precio similar y unas características muy superiores, a mitad de camino entre un ESP8266 y un ESP32, es difícil concebir la continuidad de su antecesor.

Una renovación, por otro lado, que ya iba tocando. El ESP8266 lleva con nosotros más de 7 años, y los requisitos en aplicaciones de IoT han aumentado considerablemente en este tiempo.

Aún queda camino por recorrer para el ESP32-C3. El software no está totalmente adaptado, e incluso Espressif avisa en su kit de pruebas que las funciones de consumo de energía no están plenamente funcionales.

Falta esperar a que se desarrollen placas de desarrollo y productos comerciales que monten este nuevo SoC. Pero, básicamente, iros despidiendo del ESP266 porque todo apunta a que el ESP32-C3 ha llegado para quedarse.