In questo tutorial imparerai come iniziare a usare la scheda LILIGO T-Camera-Plus S3 con l’ambiente Arduino IDE.
La LilyGO T-Camera-Plus S3è una scheda di sviluppo compatta basata su ESP32-S3, progettata per applicazioni IoT e di visione artificiale. Integra una camera OV2640, microfono e un display. Alimentata dal dual-core ESP32-S3 con supporto all’accelerazione AI e 8 MB di PSRAM, è in grado di gestire acquisizione immagini in tempo reale, rilevamento volti e streaming dati.
In questo articolo vedremo i passaggi essenziali per la configurazione, come installare le librerie, il core ESP32 e preparare il codice per un webserver che trasmette video in streaming via Wi-Fi dalla T-Camera-Plus S3 al tuo browser.
Componenti necessari
Ti serviranno una T-Camera-Plus S3 e un cavo USB-C per programmare la scheda e provare gli esempi di codice.

LILYGO T-Camera-Plus S3

Cavo 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 della T-Camera Plus S3
La T-Camera-Plus S3è costruita attorno al microcontrollore ESP32-S3 di Espressif, un processore dual-core Xtensa LX7 che opera fino a 240 MHz. Include istruzioni vettoriali ottimizzate per carichi di lavoro AI e di elaborazione del segnale, rendendolo ideale per applicazioni embedded di visione e audio. Il chip integra 512 KB di SRAM ed è abbinato a 8 MB di PSRAM e 16 MB di memoria flash SPI. L’immagine sotto mostra il fronte e il retro della scheda:

Camera
Per l’acquisizione immagini, la scheda utilizza il sensore OmniVision OV2640, che supporta risoluzioni fino a 1600 × 1200 (UXGA) e comunica tramite un’interfaccia parallela DVP a 8 bit. La camera è collegata direttamente alla matrice GPIO dell’ESP32-S3, utilizzando un segnale XCLK a 20 MHz per la sincronizzazione. La compressione JPEG integrata nel sensore riduce il carico di memoria e la larghezza di banda di trasmissione, permettendo uno streaming fluido dei frame via Wi-Fi. Il modulo camera è collegato tramite un connettore a nastro e la lente può essere regolata per la messa a fuoco.
Componenti
La scheda dispone di un display TFT da 1,3 pollici pilotato dal controller ST7789, connesso via SPI. Questo display offre una risoluzione di 240 × 240 pixel e può essere usato per anteprime delle immagini acquisite, visualizzare dati dei sensori o mostrare un’interfaccia utente locale. Accanto al display c’è un circuito di gestione energetica AP1511B che fornisce una regolazione efficiente della tensione per l’ESP32-S3 e i componenti periferici. È integrato un microfono (INMP441) per la cattura audio tramite interfaccia I²S, abilitando applicazioni che combinano elaborazione audio e visiva.
Connettività
La connettività è gestita tramite il Wi-Fi integrato a 2.4 GHz (802.11 b/g/n) e il Bluetooth 5 LE con antenna onboard. La scheda include anche una porta USB Type-C per programmazione e alimentazione, un pulsante di reset, un tasto utente (KEY1) e diversi pin GPIO esposti per espansione. Altre caratteristiche includono un LED programmabile e circuiti di controllo alimentazione onboard per abilitare o disabilitare periferiche ottimizzando il consumo energetico.

Specifiche tecniche
La tabella seguente riassume le specifiche tecniche della scheda LILYGO T-Camera-Plus S3:
| Specifiche | Descrizione |
|---|---|
| Microcontrollore | ESP32-S3 (Xtensa® LX7 dual-core, fino a 240 MHz) |
| Memoria Flash | 16 MB flash SPI |
| PSRAM | 8 MB PSRAM esterna |
| Sensore Camera | OmniVision OV2640, risoluzione max 1600 × 1200 px, output JPEG |
| Display | TFT 1,3″ (driver ST7789), 240 × 240 px, interfaccia SPI |
| Microfono | Microfono MEMS digitale INMP441 (interfaccia I²S) |
| Connettività wireless | Wi-Fi 2.4 GHz (802.11 b/g/n) + Bluetooth 5 LE |
| Interfaccia USB | USB Type-C (per programmazione, seriale e alimentazione) |
| Pulsanti | Pulsante reset e pulsante utente (KEY1) |
| Gestione alimentazione | Convertitore DC-DC AP1511B, circuiti di controllo alimentazione onboard |
| Tensione operativa | 5 V (tramite USB Type-C) |
| Disponibilità GPIO | Pin esposti limitati per espansione periferiche |
| Dimensioni scheda | Circa 58 mm × 25 mm × 10 mm |
Gli schemi elettrici della scheda sono disponibili al seguente link:
Installazione delle librerie
Per prima cosa installeremo le librerie necessarie per compilare il codice per la scheda T-Camera-Plus S3. Vai al repository LILYGO su github per il display a T-CameraPlus-S3. Clicca sul pulsante verde “<> Code” e poi su “Download ZIP” per scaricare il repository come file ZIP:

Successivamente estrai il file ZIP per ottenere i contenuti. Dovresti vedere i seguenti file nella cartella estratta chiamata “T-CameraPlus-S3-arduino-esp32-libs_V2.0.14”:

Dobbiamo copiare il contenuto della cartella “libraries” nella cartella “libraries” dell’Arduino IDE. Su Windows la cartella “libraries” si trova tipicamente in:
C:\Users\<username>\OneDrive\Documents\Arduino\libraries
Poiché questa cartella contiene già librerie installate, ti consiglio di rinominarla temporaneamente, ad esempio in “_libraries”, e creare una nuova cartella chiamata “libraries”. In questo modo eviti conflitti con le librerie già installate senza perderle. Potrai facilmente tornare indietro in seguito. L’immagine sotto mostra come dovrebbe apparire la tua cartella “Arduino” con le librerie:

Ora copiamo i file dalla cartella “libraries” nella nuova cartella “libraries” come mostrato sotto:

Così si completa l’installazione delle librerie richieste. Nella sezione successiva installeremo il core ESP32.
Installazione del core ESP32
Oltre alle librerie, dobbiamo installare una versione specifica del core ESP32. Il nome del file ZIP (T-CameraPlus-S3-arduino-esp32-libs_V2.0.14) di github repo indica che la Versione 2.0.14 deve essere usata. La versione attuale (3.3.x) non è supportata (a novembre 2025) e il codice non compila.
Effettuare il downgrade della versione ESP32 è semplice. Apri il BOARDS MANAGER, digita “ESP32” per filtrare le schede ESP32 e seleziona Versione 2.0.14 per l’ESP32 di Espressif Systems. L’immagine sotto mostra come appare dopo il downgrade del core ESP32:

Ora siamo quasi pronti per provare la camera.
Codice per l’esempio Camera_WebServer
In questa sezione prepareremo, caricheremo e eseguiremo il codice per il Camera_WebServer che si trova nella examples cartella del repository github. Avendo scaricato il repository, hai già il codice esempio sul tuo computer. Apri la cartella “T-CameraPlus-S3-arduino-esp32-libs_V2.0.14”, poi vai in “examples” e apri la cartella “Camera_WebServer”:

Ci sono due cose da modificare per poter eseguire il Camera_WebServer.ino, però.
Aggiungere il file pinconfig.h
Innanzitutto, nella cartella del progetto Camera_WebServer manca un file con la configurazione dei pin per la camera. Puoi trovare questo file (pin_config.h) nella cartella “private_library” dentro “T-CameraPlus-S3-arduino-esp32-libs_V2.0.14”. Copialo semplicemente nel progetto Camera_WebServer come mostrato sotto:

Dopo aver copiato il file, il progetto Camera_WebServer dovrebbe contenere i seguenti file:

Credenziali Wi-Fi
In secondo luogo, devi impostare le credenziali corrette per il tuo Wi-Fi. Apri il file Camera_WebServer.ino. All’inizio del file vedrai le definizioni per WIFI_SSID e 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)
{
...
Modificale con SSID e PASSWORD della tua rete Wi-Fi.
Caricare il codice sulla T-Camera-Plus S3
Ora siamo quasi pronti per caricare il codice sulla T-Camera-Plus S3. Seleziona “ESP32S3 Dev Module” come scheda e assicurati che sia collegata e riconosciuta su una porta COM:

Poi, nel menu “Tools” imposta i seguenti parametri:

I più importanti sono Flash Size, Partition Scheme e PSRAM. Gli altri parametri dovrebbero essere quelli di default, ma è meglio controllare. Quando stampi sul Serial Monitor, la configurazione USB_CDC_ON_BOOT deve essere attivata.
Ora puoi caricare il codice sulla tua T-Camera_Plus S3 e, si spera, vedere le seguenti informazioni sul Serial Monitor:

Ti indica il modello della camera, che la scheda si è connessa al WiFi e a quale indirizzo IP è attivo il webserver della camera. I messaggi di errore riguardanti la partizione sembrano non causare problemi e possono essere ignorati.
Apri il browser web, inserisci l’indirizzo IP, ad esempio “192.168.1.242” nella barra degli indirizzi e dovrebbe apparire una barra laterale con un menu per il webserver:

Clicca su “Start Stream” in fondo a quel menu (appena sopra Advanced Settings):

e dovresti poter goderti lo streaming video nel browser:

Se il video della T-Camera-Plus S3 appare sfocato, ricorda che puoi regolare la messa a fuoco della lente ruotandola:

E questo è tutto! Se hai problemi a caricare il codice sulla T-Camera-Plus S3, dai un’occhiata alla sezione successiva.
Impossibile caricare il codice sulla T-Camera-Plus S3
Ho riscontrato che caricare il codice per Camera_WebServer e altri esempi più grandi sulla T-Camera-Plus S3 spesso non funziona. Tenere premuto il tasto Boot, resettare la scheda, riavviare il computer – nulla ha funzionato.
Il flashing iniziava con successo ma poi, prima di raggiungere il 100%, falliva con il messaggio di errore:
Si è verificato un errore di eccezione seriale: impossibile configurare la porta, qualcosa è andato storto. Messaggio originale: PermissionError(13, ‘The device does not recognize the command.’, None, 22)
Nota: questo errore proviene da pySerial. Probabilmente non è un problema di esptool, ma della connessione hardware o dei driver.
La buona notizia è che ho trovato un modo per superare questo problema. Basta creare un altro progetto Arduino con codice minimale e caricarlo se incontri l’errore sopra. Per esempio, ho usato questo codice di esempio:
void setup() {
Serial.begin(115200);
}
void loop() {
delay(1000);
Serial.println("loop");
}
Per qualche motivo, questo funziona sempre e dopo puoi caricare di nuovo il codice più grande (Camera_WebServer) e funziona anche quello.
Conclusione
In questo tutorial hai imparato come iniziare con la scheda T-Camera-Plus S3 di LILYGO. Abbiamo solo caricato ed eseguito il Camera_WebServer ma il repository github contiene altri examples che vale la pena esplorare.
Nota che abbiamo anche un tutorial per il modello precedente T-Camera S3: Getting Started with T-Camera S3, e se sei interessato ad altre camere e applicazioni, dai un’occhiata ai seguenti tutorial:
- Stream Video with ESP32 Camera Pro Kit
- Stream Video with ESP32-CAM
- Stream Video with ESP32-WROVER CAM
- Surveillance Camera with ESP32-CAM
- Object Detection with ESP32-CAM and YOLO
- Train an Object Detection Model with Edge Impulse for ESP32-CAM
Se hai domande, sentiti libero di lasciarle nella sezione commenti.
Buon divertimento con il tinkering 😉

