El ESP32-C3 se presenta como el sucesor del ESP8266 con algunas de las funcionalidades propias de la familia ESP32. Entre las herramientas disponibles para el desarrollo de aplicaciones, contamos ya con un core desarrollado por Espressif para que podamos emplear el familiar Arduino IDE. En este artículo les mostraré como configurarlo para poder comenzar a escribir nuestros programas y probar las capacidades de este nuevo chip.
Configuración del Arduino IDE
Para programar el C3 empleando el Arduino IDE debemos configurar el Gestor de tarjetas (board manager) como se hace habitualmente, en este caso con una versión de desarrollo del Arduino core. Para ello abrimos el IDE, vamos a Archivo – Preferencias y en Gestor de URLs adicionales de tarjetas introducimos:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json
Si ya teníamos otra dirección en ese campo, debemos agregar la nueva separada con una coma.
Pulsamos OK y abrimos el gestor de tarjetas yendo al menú Herramientas – Placa – Gestor de tarjetas. Veremos que demora unos segundos en cargar las tarjetas disponibles. Buscamos ESP32 y aparecerá el core correspondiente a la versión 2, que es una versión de desarrollo, que a la fecha aún se encuentra en estado alfa:
Pulsamos sobre Instalar. Comenzará la descarga y la instalación, que puede durar algunos minutos.
Una vez finalizada la instalación, nuestro IDE ya está preparado para que trabajemos con el ESP32-C3. Podemos comprobarlo yendo nuevamente al menú Herramientas – Placa – ESP32 Arduino donde veremos que entre todas las placas basadas en este SoC podemos encontrar el ESP32C3 Dev module
Programa de prueba
Como es tradición, para comprobar el funcionamiento probaremos el típico programa Blink.
El led incluido en la placa DevKitM-1 es del tipo RGB, similar a un WS2812 que requiere de una librería para su control. Para simplificar conectaremos un led a la salida GPIO2, como se ve a continuación.
El programa de prueba es el siguiente:
//Blink. Conectar led a GPIO2
void setup() {
pinMode(2, OUTPUT);
}
void loop() {
digitalWrite (2, HIGH); //Prende led en GPIO2
delay (1000);
digitalWrite (2, LOW); //Apaga led en GPIO2
delay (1000);
}
Si al compilar el programa reciben un mensaje de error indicando que ESPTOOL no reconoce el ESP32-C3, es porque el core instala una versión desactualizada de este programa (el core 2.0.0.alpha1 en mi caso tuvo ese problema). Si eso ocurre, deberán descargar el programa ESPTOOL.EXE del repositorio de Espressif y reemplazarlo a mano. Para ello sigan los siguientes pasos (en Windows):
- Accedan al repositorio de ESPTOOL y descarguen la última versión (por si no la encuentran, esta es la dirección a la Versión 3.1).
- Busquen ESPTOOL.EXE en su computadora. Probablemente esté en la carpeta C:\Users\usuario\AppData\Local\Arduino15\packages\esp32\tools\esptool_py\3.0.0 (usuario tendrá un nombre distinto)
- Borren o renombren el archivo ESPTOOL.EXE de esa carpeta.
- Descompriman ESPTOOL.EXE del ZIP descargado antes en su lugar.
En la siguiente imagen podemos ver el programa en funcionamiento
Conclusión
Vimos como configurar el Arduino IDE para programar al nuevo ESP32-C3. Si bien existen algunos inconvenientes ya que el software aún está en estado de desarrollo, estos seguramente se irán puliendo en las próximas versiones.