Un orologio retrò-arcade su matrice LED RGB 128×64 pilotata da ESP32-S3 porta sul tavolo di lavoro le icone dei videogiochi anni Ottanta. Il progetto di Keralots unisce quattordici stili di orologio animato, meteo senza chiave API e monitoraggio delle prestazioni del PC in un unico dispositivo da scrivania. La configurazione avviene da browser, senza ricompilare il firmware.
La base hardware sono due pannelli Waveshare P2.5 64×64 HUB75E, scan 1/32, incatenati in una tela unica da 128×64 pixel. Il driver FM6126A richiede un’inizializzazione che il firmware gestisce in automatico all’avvio. La scheda di controllo è un ESP32-S3-WROOM-1 (N16R8) devkit, con 8MB di PSRAM e 16MB di flash: spazio sufficiente per il firmware, le GIF e le animazioni personalizzate.
Stili, Cycle All e animazioni personalizzate
Gli stili di orologio coprono i classici arcade: Mario, Space Invaders, Pac-Man, Snake, Tetris, Asteroids, Dino Runner e Matrix Rain, oltre a varianti Weather e altre ancora. La modalità Cycle All alterna gli stili in sequenza, con durata configurabile da 5 a 3600 secondi per stile. Inoltre, gli screensaver ambientali e le GIF caricate dall’utente possono sostituire l’orologio, con programmazione oraria.
Lo spazio di archiviazione per le animazioni sulla scheda è di 128KiB, dentro i 4MB di flash disponibili. Un dispositivo vuoto testato contiene circa 23 frame di animazione. Il limite di input per le GIF è 8MiB, mentre il file convertito .pca ha un massimo di 1.5MiB e fino a 360 frame. Lo strumento da riga di comando tools/gif2pca.py, che richiede pillow, converte le GIF nel formato proprietario.
Alimentazione e consumi misurati
L’alimentazione arriva da una 5V dedicata da 10A, con un condensatore da 2200µF, 25V sul bus. Il consumo stimato in uso è circa 10W, con misure sotto 30W in condizioni normali. Il collegamento di potenza passa da un USB-C power breakout e da un XT60 panel feed, che rende il cablaggio ordinato e sicuro.
La modalità PC monitor riceve le metriche via UDP locale sulla porta 4210 da un’app companion per Windows o Linux. L’app invia fino a 20 metriche di CPU, GPU, RAM e rete, con intervallo di aggiornamento predefinito di 3 secondi. Quando il PC è offline, l’orologio torna automaticamente alla visualizzazione dell’ora.
La funzione meteo opzionale usa Open-Meteo, che non richiede account né chiave API, con aggiornamenti ogni 10 minuti. L’interfaccia web integrata configura stile dell’orologio, colori per elemento, luminosità con attenuazione notturna programmata, fuso orario con DST automatico e aggiornamenti OTA. Tutto il codice, il firmware e gli strumenti di conversione sono raccolti nel repository di Keralots.
Per chi vuole rifare il progetto, la documentazione include lo schema di collegamento dei pannelli HUB75E e le istruzioni per il flashing del firmware. Il repository di Keralots è il punto di partenza per scaricare il codice e le utility. Il repository di Keralots contiene il firmware completo e l’app companion.
La lista dei componenti per la realizzazione è la seguente:
- ESP32-S3-WROOM-1 (N16R8) devkit
- Waveshare ESP32-S3-Zero
- 2x Waveshare P2.5 64×64 HUB75E panels
- FM6126A driver
- 2200µF, 25V capacitor
- USB-C power breakout
- XT60 panel feed
La scelta di un ESP32-S3 con PSRAM e flash generosi rende il progetto fluido anche con animazioni complesse. La combinazione di pannelli P2.5 a passo 2.5mm offre una buona densità di pixel per un orologio da scrivania. Il risultato è un dispositivo che cambia aspetto con un click, da orologio minimalista a monitor di sistema arcade.
