Skip to Content

Primeros pasos con T-Camera-Plus S3

Primeros pasos con T-Camera-Plus S3

En este tutorial aprenderás cómo empezar a usar la placa LILIGO T-Camera-Plus S3 con el entorno Arduino IDE.

El LilyGO T-Camera-Plus S3 es una placa de desarrollo compacta basada en ESP32-S3, diseñada para aplicaciones de IoT y visión por computadora. Integra una cámara OV2640, micrófono y un display. Alimentada por el dual-core ESP32-S3 con soporte de aceleración AI y 8 MB de PSRAM, puede manejar captura de imágenes en tiempo real, detección facial y transmisión de datos.

En este artículo repasaremos los pasos esenciales de configuración, como instalar las librerías, el core ESP32 y preparar el código para un servidor web que transmite video por Wi-Fi desde la T-Camera-Plus S3 a tu navegador.

Partes necesarias

Necesitarás una T-Camera-Plus S3 y un cable USB-C para programar la placa y probar los ejemplos de código.

LILYGO T-Camera-Plus S3

Cable USB C

Makerguides is a participant in affiliate advertising programs designed to provide a means for sites to earn advertising fees by linking to Amazon, AliExpress, Elecrow, and other sites. As an Affiliate we may earn from qualifying purchases.

Hardware de la T-Camera Plus S3

La T-Camera-Plus S3 está construida alrededor del microcontrolador ESP32-S3 de Espressif, un procesador dual-core Xtensa LX7 que funciona hasta 240 MHz. Incluye instrucciones vectoriales optimizadas para cargas de trabajo de IA y procesamiento de señales, ideal para aplicaciones embebidas de visión y audio. El chip integra 512 KB de SRAM y está acompañado por 8 MB de PSRAM y 16 MB de memoria flash SPI. La imagen a continuación muestra el frente y la parte trasera de la placa:

Front and back of T-Camera-Plus S3 board
Frontal y trasera de la placa T-Camera-Plus S3 (source)

Cámara

Para la imagen, la placa usa el sensor de cámara OmniVision OV2640, que soporta resoluciones hasta 1600 × 1200 (UXGA) y se comunica mediante una interfaz DVP paralela de 8 bits. La cámara está conectada directamente a la matriz GPIO del ESP32-S3, usando una señal XCLK de 20 MHz para sincronización. La compresión JPEG integrada en el sensor reduce la carga de memoria y el ancho de banda de transmisión, permitiendo una transmisión fluida de frames por Wi-Fi. El módulo de cámara se conecta mediante un conector de cinta y la lente puede ajustarse para enfocar.

Componentes

La placa cuenta con un display TFT de 1.3 pulgadas controlado por el ST7789, conectado vía SPI. Este display ofrece una resolución de 240 × 240 píxeles y puede usarse para previsualizar imágenes capturadas, mostrar datos de sensores o una interfaz local. Junto al display hay un circuito de gestión de energía AP1511B que regula eficientemente el voltaje para el ESP32-S3 y periféricos. Un micrófono (INMP441) está integrado para capturar audio mediante interfaz I²S, permitiendo aplicaciones que combinan audio y visión.

Conectividad

La conectividad se maneja con el Wi-Fi integrado 2.4 GHz (802.11 b/g/n) y radios Bluetooth 5 LE con antena onboard. La placa también incluye un puerto USB Tipo-C para programación y alimentación, un botón de reset, una tecla de usuario (KEY1) y varios pines GPIO expuestos para expansión. Otras características incluyen un LED programable y circuitería onboard para controlar la alimentación de periféricos y optimizar el consumo energético.

Pinout of the T-Camera-Plus S3 board
Pinout de la placa T-Camera-Plus S3 (source)

Especificaciones técnicas

La siguiente tabla resume las especificaciones técnicas de la placa LILYGO T-Camera-Plus S3:

EspecificaciónDescripción
MicrocontroladorESP32-S3 (Xtensa® LX7 dual-core, hasta 240 MHz)
Memoria Flash16 MB flash SPI
PSRAM8 MB PSRAM externa
Sensor de cámaraOmniVision OV2640, resolución máxima 1600 × 1200 px, salida JPEG
DisplayTFT de 1.3″ (controlador ST7789), 240 × 240 px, interfaz SPI
MicrófonoMicrófono MEMS digital INMP441 (interfaz I²S)
Conectividad inalámbricaWi-Fi 2.4 GHz (802.11 b/g/n) + Bluetooth 5 LE
Interfaz USBUSB Tipo-C (para programación, serial y alimentación)
BotonesBotón de reset y botón de usuario (KEY1)
Gestión de energíaConvertidor DC-DC AP1511B, circuitería onboard de control de energía
Voltaje de operación5 V (vía USB Tipo-C)
Disponibilidad de GPIOPines expuestos limitados para expansión de periféricos
Dimensiones de la placaAproximadamente 58 mm × 25 mm × 10 mm

Los esquemas de la placa se pueden encontrar en el siguiente enlace:

Instalación de librerías

Primero instalaremos las librerías necesarias para compilar código para la placa T-Camera-Plus S3. Ve al repositorio de LILYGO para el display en T-CameraPlus-S3. Haz clic en el botón verde «<> Code» y luego en «Download ZIP» para descargar el repositorio como un archivo ZIP:

Luego descomprime el archivo ZIP para extraer su contenido. Deberías ver los siguientes archivos en la carpeta descomprimida llamada «T-CameraPlus-S3-arduino-esp32-libs_V2.0.14»:

Necesitamos copiar el contenido de la carpeta «libraries» dentro de la carpeta «libraries» del Arduino IDE. En Windows, la carpeta «libraries» suele estar ubicada en:

C:\Users\<username>\OneDrive\Documents\Arduino\libraries

Como esta carpeta ya contiene librerías instaladas, te recomiendo renombrarla temporalmente, por ejemplo a «_libraries», y crear una nueva carpeta llamada «libraries». Así evitas conflictos con las librerías ya instaladas y no las pierdes. Luego puedes revertir este cambio fácilmente. La imagen a continuación muestra cómo debería verse tu carpeta «Arduino» con las librerías:

Luego copiamos los archivos de la carpeta «libraries» al nuevo directorio «libraries» como se muestra a continuación:

Con esto se completa la instalación de las librerías requeridas. En la siguiente sección instalaremos el core ESP32.

Instalación del core ESP32

Además de las librerías, necesitamos instalar una versión específica del core ESP32. El nombre del archivo ZIP (T-CameraPlus-S3-arduino-esp32-libs_V2.0.14) de github repo indica que la Versión 2.0.14 debe usarse. La versión actual (3.3.x) no es compatible (a noviembre de 2025) y el código no compilará.

Bajar la versión del ESP32 es sencillo. Abre el BOARDS MANAGER, escribe «ESP32» para filtrar las placas ESP32 y selecciona Versión 2.0.14 para el esp32 de Espressif Systems. La imagen a continuación muestra cómo se ve después de bajar la versión del core ESP32:

Ahora estamos casi listos para probar la cámara.

Código para el ejemplo Camera_WebServer

En esta sección prepararemos, flashearemos y ejecutaremos el código para el Camera_WebServer que se encuentra en la carpeta examples del repositorio github. Como descargaste el repositorio, ya tienes el código de ejemplo en tu computadora. Abre la carpeta «T-CameraPlus-S3-arduino-esp32-libs_V2.0.14» en tu PC, luego ve a «examples» y abre la carpeta «Camera_WebServer»

Hay dos cosas que necesitamos cambiar para poder ejecutar el Camera_WebServer.ino, sin embargo.

Agregar archivo pinconfig.h

Primero, la carpeta del proyecto para el ejemplo Camera_WebServer no incluye un archivo con la configuración de pines para la cámara. Puedes encontrar este archivo (pin_config.h) en la carpeta «private_library» dentro de «T-CameraPlus-S3-arduino-esp32-libs_V2.0.14». Solo cópialo al proyecto Camera_WebServer como se muestra a continuación:

Después de copiar el archivo, tu proyecto Camera_WebServer debería contener los siguientes archivos:

Credenciales Wi-Fi

En segundo lugar, debes configurar las credenciales correctas para tu Wi-Fi. Abre el archivo Camera_WebServer.ino. Al inicio del archivo verás definiciones para WIFI_SSID y WIFI_PASSWORD:

#include <WiFi.h>
#include "camera_index.h"
#include "app_httpd.tpp"
#include "pin_config.h"

#define WIFI_SSID "LilyGo-AABB"
#define WIFI_PASSWORD "xinyuandianzi"

bool OV2640_Initialization(void)
{
...

Cámbialos por el SSID y la CONTRASEÑA de tu red Wi-Fi.

Subir código a T-Camera-Plus S3

Ahora estamos casi listos para subir el código a la T-Camera-Plus S3. Selecciona «ESP32S3 Dev Module» como placa y asegúrate de que esté conectada y reconocida en un puerto COM:

Luego, en el menú «Tools» configura los siguientes parámetros:

Los más importantes son Flash Size, Partition Scheme y PSRAM. Los demás parámetros deberían estar en sus valores por defecto, pero conviene revisarlos. Al imprimir en el Monitor Serial, la configuración USB_CDC_ON_BOOT debe estar activada también.

Ahora puedes subir el código a tu T-Camera_Plus S3 y, con suerte, ver la siguiente información en el Monitor Serial:

Te indica el modelo de cámara, que la placa pudo conectarse al WiFi y en qué dirección IP está corriendo el servidor web de la cámara. Los mensajes de error sobre particiones no parecen causar problemas y pueden ignorarse.

Abre tu navegador web, ingresa la dirección IP, por ejemplo «192.168.1.242» en la barra de direcciones y debería aparecer una barra lateral con un menú para el servidor web:

Haz clic en «Start Stream» al final de ese menú (justo encima de Advanced Settings):

y deberías poder disfrutar de una transmisión de video en tu navegador:

Si el video de la T-Camera-Plus S3 aparece borroso, recuerda que puedes ajustar el enfoque de la lente girándola:

¡Y eso es todo! Si tienes problemas para flashear la placa T-Camera-Plus S3, revisa la siguiente sección.

No puedo subir código a T-Camera-Plus S3

He encontrado que subir el código para Camera_WebServer y otros ejemplos más grandes a la T-Camera-Plus S3 a menudo no funciona. Mantener presionado el botón Boot, resetear la placa, reiniciar el ordenador, nada funcionó.

El flasheo comenzaba bien pero antes de llegar al 100% fallaba con el siguiente mensaje de error:

Ocurrió un error de excepción serial: No se puede configurar el puerto, algo salió mal. Mensaje original: PermissionError(13, ‘El dispositivo no reconoce el comando.’, None, 22)
Nota: Este error proviene de pySerial. Probablemente no sea un problema de esptool, sino de la conexión hardware o los drivers.

La buena noticia es que encontré una forma de superar este problema. Solo crea otro proyecto Arduino con código mínimo y flashea ese código si te aparece el error anterior. Por ejemplo, usé el siguiente código de ejemplo:

void setup() {
  Serial.begin(115200);
}

void loop() {
  delay(1000);
  Serial.println("loop");
}

Por alguna razón, esto siempre funciona y después puedes flashear el código más grande (Camera_WebServer) nuevamente y también funciona.

Conclusión

En este tutorial aprendiste cómo empezar con la placa T-Camera-Plus S3 de LILYGO. Solo flasheamos y ejecutamos el Camera_WebServer pero el repositorio github tiene más examples que deberías revisar.

Ten en cuenta que también tenemos un tutorial para el modelo anterior T-Camera S3: Getting Started with T-Camera S3, y si te interesan otras cámaras y aplicaciones, echa un vistazo a los siguientes tutoriales:

Si tienes alguna pregunta, no dudes en dejarla en la sección de comentarios.

¡Feliz bricolaje! 😉