La placa ESP32-C3 T-OI Plus de Lilygo es una solución todo-en-uno para tus proyectos de IoT. Con su capacidad de conectividad Wi-Fi y Bluetooth y su procesador RISC-V de 32 bits, esta placa es capaz de manejar aplicaciones complejas y procesar datos en tiempo real. Además, su tamaño compacto y bajo consumo de energía la hacen ideal para proyectos portátiles. En este artículo describo sus principales características y te muestro como puedes utilizarla para que crees tus propias aplicaciones.
Descripción
La placa TTGO ESP32-C3 T-OI está equipada con un procesador RISC-V de 32 bits, el ESP32-C3, que tiene una velocidad de reloj de hasta 160 MHz. Además, cuenta con 400 KB de SRAM y 384 KB de ROM, con el agregado de una memoria Flash externa de 4 MBytes, lo que proporciona una gran cantidad de memoria para almacenar datos y ejecutar programas.
La placa también incluye con una amplia variedad de puertos y pines, incluyendo un conector Grove de 4 pines, un puerto USB-C y 12 pines de Entradas/salida (GPIO) dispuestos en dos conectores que le dan compatibilidad con los shields de la D1 mini. También tiene conectividad Wi-Fi (IEEE 802.11 b/g/n) y Bluetooth 5, lo que te permite comunicarte con otros dispositivos y enviar datos a la nube.
Para la comunicación usando una red Wifi, la placa tiene una antena cerámica interna (U18, de color rojo marcada como “C3”) y un conector IPEX para una antena externa en caso de que necesites mas ganancia de señal.
Sobre un lateral tiene montado un interruptor de encendido, muy útil para cortar la alimentación cuando la placa se alimenta desde la batería y un pulsador de RESET.
Está disponible en dos versiones, con y sin porta baterías tipo 16340.
Características
Especificaciones
MCU | ESP32-C3 (RISC-V) |
Memoria FLASH | 4 MByte |
Memoria RAM | 400 KByte |
Portabaterías | Tipo 16340 (opcional) |
Conector Grove | 4 Pines, 2.0mm |
Chip adaptador serie | CH340K |
USB | Tipo C |
Interfaces
Analógicas | 2 x 12-bit SAR ADCs, hasta 6 canales |
Digitales | 3xSPI, 2x UART, 1 xI2C, 1 x 12S LED PWM, TWAI, Timers, RMT, USB Serial |
Wi-Fi | IEEE 802.11 b/g/n Modos Station, SoftAP, SoftAP + Station mode |
Bluetooth | Bluetooth 5, Bluetooth mesh |
Distribución de pines
En la siguiente imagen se puede apreciar la distribución de pines en los conectores laterales y otros elementos instalados en la placa.
Versiones
Existen al menos dos versiones de la placa, siendo la última a la fecha la Ver 1.3.
Aplicaciones
Algunas de las aplicaciones de la placa TTGO ESP32-C3 T-OI incluyen:
- Monitoreo ambiental: la placa puede conectarse a sensores de temperatura, humedad, luz y otras variables ambientales y enviar esa información a un servidor para su consulta. Gracias a su bajo consumo, la batería se puede recargar empleando paneles solares.
- Seguridad: se puede emplear la T-OI en sistemas de seguridad conectada a sensores de movimiento o apertura de puertas, así como sensores de humo o gas para enviar alertas a una app cuando detecte una condición de emergencia.
- Monitoreo de la salud: por su tamaño esta placa puede usarse en dispositivos “wearables” y conectarse a sensores de frecuencia cardíaca y oxígeno en la sangre, y enviar alertas si se detectan problemas de salud.
- Proyectos de robótica: la placa puede utilizarse para controlar motores y sensores en proyectos de robótica, lo que permite la creación de robots autónomos y controlados por la nube.
Programación
A la hora de elegir un lenguaje de programación tenemos varias alternativas, entre las que se destacan:
- C/C++ con ESP-IDF
- Arduino
- Micropython
- Circuit Python
- RUST
Instalación de Micropython
Para instalar Micropython primero debes descargar la última versión del firmware genérico para ESP32-C3 de la sección de descargas de la página oficial.
Luego, puedes copiar el firmware a la placa usando ESPTOOL. En Windows, debes seguir los siguientes pasos:
- Paso 1: Borrar la memoria
esptool.py --chip esp32c3 --port COM12 erase_flash
- Paso 2: Grabar el firmware
esptool.py --chip esp32c3 --port COM12 --baud 460800 write_flash -z 0x0 esp32c3-20220618-v1.19.1.bin
Desde luego, debes reemplazar COM12 por el puerto que utilice la placa en tu computadora.
Instalación de Circuit Python
Si quieres usar Circuit Python debes descargar primero el firmware en formato .BIN de la página de descargas.
Para copiar el firmware puedes probar el instalador web (INSTALLER) o usar el procedimiento tradicional con ESPTOOL.
- Paso 1: Borrar la memoria
esptool.py --chip esp32c3 --port COM12 erase_flash
- Paso 2: Grabar el firmware
esptool.py --port COM12 write_flash -z 0x0 adafruit-circuitpython-lilygo_ttgo_t-oi-plus-es-8.0.3.bin
Si tienes una versión antigua de ESPTOOL te recomiendo actualizarla con:
pip install --upgrade esptool
Mas información
Repositorio github con ejemplos, esquemáticos y mucha información
Conclusiones
La placa TTGO ESP32-C3 T-OI es una excelente opción para proyectos de IoT debido a su capacidad de conectividad, procesamiento en tiempo real y su amplio conjunto de puertos y pines. Además, su bajo consumo de energía y tamaño compacto la hacen ideal para proyectos portátiles y de bajo consumo. En futuros artículos te mostraré algunos proyectos que utilizan y aprovechan este potencial.
Como siempre cualquier duda o sugerencia puedes dejarla en la sección de comentarios. Hasta la próxima!