The Open Music Box è open source dal primo giorno. Ma tra "il codice è su GitHub" e "puoi costruire la tua" c'era un vuoto: dovevi installare una toolchain, capire come usare esptool, scrivere i file binari giusti agli indirizzi giusti. Non proprio accessibile.

L'approccio è semplice, ed è tutto lo spirito del progetto: tu costruisci la scatola, il guscio e l'elettronica attorno a un modulo ESP32-S3. Io fornisco le due parti software, il firmware che fa funzionare la scatola e l'app mobile per pilotarla. Tutto è raccolto sulla pagina Build, e la parte di cui sono davvero fiero è che il firmware si flasha direttamente dal browser, senza nulla da installare.

Tre modi per costruirla
Non tutti partono dallo stesso punto. C'è chi vuole saldare, chi vuole solo una scheda già pronta, chi preferisce aspettare un prodotto finito. Per questo la pagina Build offre tre percorsi, tutti attorno allo stesso modulo ESP32-S3 e allo stesso firmware open source:
- A mano, su una breadboard e poi su un PCB personalizzato: il percorso maker completo, con lo schema di cablaggio per ogni componente (lettore NFC, audio I2S, anello di LED, encoder, pulsanti).
- Con il PCB HermitX, una scheda progettata da un altro maker che porta il lettore NFC e l'essenziale su un singolo circuito. Una comoda scorciatoia che salta il cablaggio.
- Con il PCB ufficiale The Open Music Box, ancora in fase di finalizzazione. Certificazioni previste, progettato per essere usato in autonomia, come kit DIY o integrato in un prodotto completo.
Una nota onesta: il PCB HermitX è un prodotto prototipo pensato per la prototipazione e i maker. Non porta alcuna certificazione normativa ed è fornito così com'è. Lo dico chiaramente nella pagina, preferisco essere trasparente al riguardo.
Flashare dal browser
Ecco la parte che cambia tutto. Collega il tuo ESP32-S3 via USB, apri la pagina di flash in Chrome o Edge, scegli la tua versione, clicca. Il firmware si installa. Tutto qui.
Niente Python, niente toolchain, niente riga di comando. Sotto il cofano è ESP Web Tools che dialoga con la scheda tramite Web Serial, direttamente dalla scheda del browser. Puoi scegliere il canale (stable o beta) e la versione esatta tra le build pubblicate. Il manifest di flash viene generato al volo, nel browser.
Il dettaglio che mi è costato più fatica è, ironicamente, il più invisibile. I binari sono pubblicati su GitHub, ma i file delle GitHub Release non restituiscono header CORS, quindi il browser non può scaricarli direttamente. Per questo ho messo in piedi un piccolo proxy CORS su fw.theopenmusicbox.com che serve i file .bin con gli header giusti e una cache. Niente che vedrai mai, ma senza di esso il flash con un clic semplicemente non funzionerebbe.
Cablaggio e il guscio
La pagina Build descrive anche il pinout reale di ogni componente, preso direttamente dal codice del firmware invece che a indovinare: il bus SPI del lettore NFC, il bus SPI della scheda SD, l'audio I2S, l'anello di LED, l'encoder e i pulsanti. Abbastanza per riprodurre la costruzione in modo pulito.
Per il guscio, sto lavorando a una v4 più compatta. I componenti finali sono ancora in fase di selezione e i file di stampa usciranno una volta che saranno davvero pronti da seguire. Nel frattempo, il guscio v3 resta documentato.
Tocca a te
Il progetto è passato da qualcosa con cui armeggiavo per i miei figli a un sistema che chiunque può riprendere in mano. Il codice c'è, il flash richiede un clic e l'app mobile guida il tutto.
Il punto di partenza è la pagina Build: i tre percorsi di assemblaggio, il pinout dei componenti e il flasher, tutto in un solo posto.
Se ti lanci e costruisci la tua, fammelo sapere. E se ti blocchi da qualche parte, le domande sono benvenute, parliamone insieme.