Skip to Content

Flip Clock con LILYGO T-Display S3 Long

Flip Clock con LILYGO T-Display S3 Long

In questo tutorial costruiremo un orologio flip elettronico usando il LILYGO T-Display S3 Long.

Il T-Display S3 Long è una scheda di sviluppo compatta basata sul microcontrollore ESP32-S3. Dispone di un ampio schermo colorato allungato. Con supporto Wi-Fi e Bluetooth, offre una piattaforma ideale per applicazioni orientate al display.

Flip Clock on T-Display S3 Long
Orologio Flip su T-Display S3 Long

Il T-Display S3 Long include un codice per un orologio flip dall’aspetto accattivante (vedi sopra), ma non è facile farlo funzionare – ci ho messo 2 giorni. Nelle sezioni seguenti mostrerò come semplificarlo e farlo funzionare con Arduino IDE e l’attuale core ESP32 3.3.x.

Componenti necessari

Ti serviranno un T-Display S3 Long di LILYGO e un cavo USB-C per programmare la scheda e provare gli esempi di codice.

LILYGO T-Display S3 Long

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.

Il T-Display S3 Long

Il T-Display S3 Long è costruito attorno al microcontrollore ESP32-S3R8, un processore dual-core LX7 che offre WiFi (802.11) e Bluetooth Low Energy (BLE 5), oltre al supporto per Bluetooth Mesh. La scheda include 16 MB di memoria flash per il programma e 8 MB di PSRAM per RAM aggiuntiva. Ha il rilevamento della tensione batteria su GPIO02, per monitorare una batteria collegata.

Il display è un TFT LCD capacitivo da 3,4 pollici, con supporto per profondità colore sia a 16 bit (RGB565) che a 18 bit (RGB666). La risoluzione è di 180 (orizzontale, RGB) × 640 (verticale) pixel. Lo schermo è interfacciato tramite QSPI, permettendo trasferimenti dati relativamente veloci adatti ad applicazioni grafiche e touch.

Onboard controls of T-Display S3 Long
Controlli onboard del T-Display S3 Long

I controlli onboard includono un pulsante di boot e uno di reset, oltre a un interruttore hardware per la batteria (vedi sopra). Alimentazione e programmazione avvengono via USB-C. La scheda include anche funzioni per l’uso a batteria. Il consumo è circa 140mA con display attivo e circa 50mA con display spento.

La tabella seguente riassume le specifiche tecniche:

ParametroValore
MicrocontrolloreESP32-S3R8 (dual-core LX7)
Connettività wirelessWiFi 802.11, Bluetooth Low Energy 5, Bluetooth Mesh
Memoria Flash16 MB
PSRAM8 MB
Dimensione e tipo displayTFT LCD capacitivo da 3,4 pollici
Profondità colore displayRGB565 (16-bit), RGB666 (18-bit)
Risoluzione display180 (H, RGB) × 640 (V) pixel
Interfaccia displayQSPI
Rilevamento tensione batteriaGPIO02
Controlli onboardPulsante boot, pulsante reset, interruttore batteria
Interfaccia programmazione / alimentazioneUSB-C

Componenti del T-Display S3 Long

L’immagine seguente mostra i componenti del T-Display S3 Long. Si vedono fronte e retro del modulo display. Sul retro si trovano tutti i connettori, l’antenna Wi-Fi e il chip ESP32:

Pinout of the T-Display S3 Long
Componenti del T-Display S3 Long (source)

Sono presenti un connettore USB-C, un connettore Qwiic, un connettore per batteria LiPo e un connettore GPIO. Maggiori dettagli sui pin GPIO disponibili nella sezione successiva.

Pinout del T-Display S3 Long

Sul retro del modulo c’è un piccolo connettore (passo 1,27mm) con 30 pin. Espone 16 pin GPIO come indicato sull’etichetta posteriore:

Pinout of the T-Display S3 Long
Pinout del T-Display S3 Long

Codice per Orologio Flip su T-Display S3 Long

In questa sezione installeremo le librerie, scaricheremo il codice e caricheremo il codice dell’orologio flip sul T-Display S3 Long.

Installa librerie

Per prima cosa vai al repository Lilygo su github per il display a T-Display-S3-Long. 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:

Dobbiamo copiare il contenuto della cartella “lib” 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”. Così eviti conflitti con le librerie già installate senza perderle. L’immagine sotto mostra come dovrebbe apparire la tua cartella “Arduino”:

Ora copiamo i file della cartella “lib” (dal repository Lilygo github) nella nuova cartella “libraries”.

Così si completa l’installazione delle librerie richieste (lvgl, XPowersLib).

Scarica codice orologio flip

Puoi trovare il codice originale per l’orologio flip nel repository Lilygo github a T-Display-S3-Long/examples/factory ma a settembre 2025 non compila. È anche troppo complesso. Quindi ho corretto gli errori, semplificato e creato una nuova versione che puoi scaricare qui: flip-clock.zip.

Estrailo e dovresti avere una cartella chiamata “flip_clock” con il seguente contenuto:

Fai doppio clic su “flip_clock.ino” per aprire il progetto nell’Arduino IDE.

Carica codice su T-Display S3 Long

Prima di caricare il codice dell’orologio flip sul T-Display S3 Long, devi impostare alcune costanti nel codice. Apri il file pins_config.h e lì puoi impostare il tuo SSID e PASSWORD WI-FI, la luminosità BL_BRIGHTNESS del display e il TIMEZONE:

Il TIMEZONE mostrato sopra è per Berlino, Germania. Per altre definizioni di fuso orario consulta il Posix Timezones Database. Basta copiare e incollare la stringa che trovi lì e modificare la costante TIMEZONE di conseguenza. Il codice dell’orologio flip prende l’ora corrente da un server internet ed è quindi sempre preciso, ma necessita di accesso Wi-Fi.

Poi seleziona “ESP32S3 Dev Module” come scheda e nel menu “Tools” imposta i seguenti parametri:

Tools Settings in Arduino IDE
Impostazioni Tools in Arduino IDE

I parametri più importanti sono Flash Size, Partition Scheme e PSRAM. Gli altri dovrebbero essere impostati di default, ma è meglio controllare. Le impostazioni sopra hanno funzionato per me. Nota che la scheda usa USB come porta JTAG per il caricamento. Quando stampi le informazioni della porta seriale, la configurazione USB_CDC_ON_BOOT deve essere attivata.

Ora puoi caricare il codice sul tuo T-Display S3 Long e goderti un bellissimo orologio flip! Se non funziona, leggi la sezione seguente.

Impossibile caricare su T-Display S3 Long

Se c’è qualche problema con il codice o le librerie, il T-Display S3 Long spesso entra in un loop di crash e sarà difficile caricare nuovo codice. Ci sono molti suggerimenti online per aggirare questo problema, ma nessuno ha funzionato in modo affidabile per me. Quello che ha funzionato è la seguente sequenza:

  • Scollega il cavo USB dal computer
  • Premi e tieni premuto il pulsante “Reset” del T-Display S3 Long
  • Collega il cavo USB
  • Rilascia il pulsante “Reset”

Nota che il pulsante “Reset” è quello a destra (guardando il retro della scheda):

Altri suggerimenti come “Premi Boot” o “Premi Boot, tieni premuto, premi Reset, rilascia Reset, rilascia Boot” non hanno funzionato per me.

Modifiche al codice dell’orologio flip

Il codice demo originale per T-Display S3 Long funziona per alcuni esempi ma a settembre 2025 non per l’orologio flip, che è quello che tutti vogliono ; )

Inoltre, il codice originale dell’orologio flip è piuttosto complesso e crea quattro pagine (orologio, logo Lilygo, info dispositivo, codici QR). Io l’ho ridotto a due pagine mostrando solo orologio e info dispositivo:

Come nel codice originale, puoi cambiare pagina scorrendo verticalmente il dito sul touch screen.

Ho anche semplificato parecchio il codice originale, ma c’è ancora lavoro per renderlo davvero pulito. Comunque la nuova versione dovrebbe essere abbastanza semplice da modificare o per aggiungere funzionalità proprie.

Conclusione

In questo tutorial hai imparato come far funzionare un orologio flip sul modulo LILYGO T-Display S3 Long.

Con il codice semplificato dell’orologio flip hai un buon punto di partenza per aggiungere funzionalità, ad esempio un calendario su una seconda pagina, la regolazione automatica della luminosità del display in base alla luce ambientale misurata da un LDR, un sensore PIR per attivare il display solo quando viene rilevato movimento, e la modalità deep-sleep per risparmiare batteria.

Nota che il T-Display S3 Long usa il driver display AXS15231B, che attualmente non è supportato da TFT_eSPI library. Dovrai usare la libreria LVGL, che è più potente ma anche più complessa. Tuttavia permette di progettare interfacce utente davvero belle usando SquareLine Studio.

Se sei interessato in generale agli orologi basati su ESP32, dai un’occhiata ai seguenti tutorial:

Se hai domande, sentiti libero di lasciarle nella sezione commenti.

Buon divertimento con il tinkering 😉