Cloud Globe V2 è un globo terrestre da tavolo che mostra su un display TFT da 240 x 240 pixel la Terra in rotazione a colori reali. Le immagini di copertura nuvolosa globale si aggiornano ogni ora, e il terminatore giorno/notte viene calcolato in tempo reale. Inoltre il globo traccia l’orbita locale della ISS e conserva un archivio meteo riproducibile su microSD. Il progetto è di Okubo Heavy Industries, e unisce in un solo oggetto da tavolo dati satellitari pubblici reali su hardware semplice da replicare.
Il cuore del sistema è un Adafruit QtPy ESP32-S2. Il display principale è uno ZJY-IPS130-V2.0 con controller ST7789, da 240 x 240 pixel su bus SPI. A questo si affianca un OLED SSD1306 da 128 x 64 pixel, collegato in I2C all’indirizzo 0x3C, che mostra lo stato all’avvio e, durante un passaggio, la geometria dell’osservatore in tempo reale con le informazioni di previsione su richiesta. Per la memoria di massa c’è un breakout microSD, quindi un pulsante momentaneo, nella versione finita uno switch Cherry MX, che gestisce la riproduzione.
Il firmware: nuvole NSMC, terminatore e TLE della ISS
Il firmware interroga ogni 15 minuti l’API di disponibilità ufficiale del NSMC e visualizza il frame più recente del prodotto GEO IR globale. I frame scaricati con successo vengono archiviati su microSD, e le lacune degli ultimi sette giorni vengono riparate in modo incrementale. Il PNG originale viene decodificato direttamente, senza alcun fallback meteo sintetico. Per la parte orbitale, il firmware scarica da CelesTrak solo il TLE della ISS, ZARYA, NORAD 25544, lo memorizza nella cache su SD e lo propaga localmente con AioP13. Il globo mostra così una traccia orbitale 3D di più o meno 60 minuti e la posizione attuale della ISS.
- Interrogazione dell’API NSMC ogni 15 minuti
- Archivio su microSD con riparazione incrementale delle lacune degli ultimi 7 giorni
- Refresh riuscito del TLE limitato a una volta ogni 24 ore
- Tentativi falliti di aggiornamento del TLE obsoleto limitati a una volta ogni due ore
- Potenza di trasmissione Arduino-ESP32 impostata a 19,5 dBm
Il pulsante gestisce la riproduzione dell’archivio: un clic riproduce le 24 ore precedenti, due clic i 7 giorni precedenti, tre clic i 30 giorni precedenti. Una pressione lunga interrompe la riproduzione e torna alla modalità live. Durante la riproduzione la rotazione del globo si mette in pausa e riprende dalla stessa longitudine. La configurazione avviene tramite il file /config.ini sulla microSD, dove si impostano credenziali Wi-Fi, offset UTC con etichetta del fuso orario e posizione dell’osservatore.

Librerie, opzioni di compilazione e montaggio
Sul fronte software il progetto si appoggia alla Adafruit GFX Library e alla Adafruit ST7735 and ST7789 Library per il display principale, a U8g2 per l’OLED e a PNGdec per la decodifica delle immagini. AioP13 si occupa della propagazione orbitale, mentre il core ESP32 Arduino fornisce WiFi, HTTPClient, WiFiClientSecure, SD, SPI e Wire. Due dettagli di build contano davvero: serve l’opzione -DPNG_MAX_BUFFERED_PIXELS=2624 per PNGdec 1.1.6, e la potenza di trasmissione va impostata a 19,5 dBm. Per il terminatore, VISIBLE_SUN_MAX_ELEVATION_DEG=-6 corrisponde al crepuscolo civile.
Chi vuole rifare il progetto trova nel repository di Okubo Heavy Industries il codice del firmware e le indicazioni per la compilazione. Per la memoria di massa serve un lettore di schede microSD con interfaccia SPI, lo stesso tipo di modulo che il globo usa per archiviare i frame e il TLE. Il montaggio resta alla portata di chi ha già saldato qualche breakout: un QtPy, un TFT SPI, un OLED I2C, il lettore SD e un pulsante.
Fonte: https://github.com/OkuboHeavyIndustries/ESP32-S2-Live-Cloud-Globe/
