The Open Music Box is open source vanaf dag één. Maar tussen "de code staat op GitHub" en "je kan je eigen doos bouwen" zat er een kloof: je moest een toolchain installeren, uitvissen hoe esptool werkt, de juiste binaire bestanden naar de juiste adressen schrijven. Niet bepaald toegankelijk.

De aanpak is eenvoudig, en het is meteen de hele geest van het project: jij bouwt de doos, de behuizing en de elektronica rond een ESP32-S3-module. Ik lever de twee softwarestukken, de firmware die de doos doet draaien en de mobiele app om ze aan te sturen. Alles staat verzameld op de Bouwpagina, en waar ik echt trots op ben, is dat de firmware zich rechtstreeks vanuit je browser laat flashen, zonder iets te installeren.

Drie manieren om te bouwen
Niet iedereen vertrekt vanuit hetzelfde punt. Sommigen willen solderen, anderen willen gewoon een kant-en-klare print, en nog anderen willen wachten op een afgewerkt product. Daarom biedt de Bouwpagina drie wegen, allemaal rond dezelfde ESP32-S3-module en dezelfde open source firmware:
- Met de hand, op een breadboard en daarna een eigen PCB: de volledige makerroute, met het bedradingsschema voor elk onderdeel (NFC-lezer, I2S-audio, LED-ring, encoder, knoppen).
- Met de HermitX PCB, een print ontworpen door een andere maker die de NFC-lezer en de essentiële onderdelen op één enkel circuit brengt. Een handige snelweg die het bedraden overslaat.
- Met de officiële The Open Music Box PCB, die nog wordt afgewerkt. Certificeringen gepland, ontworpen om standalone te gebruiken, als doe-het-zelfkit, of ingebouwd in een volledig product.
Eén eerlijke kanttekening: de HermitX PCB is een prototypeproduct gericht op prototyping en makers. Ze draagt geen enkele regelgevende certificering en wordt geleverd zoals ze is. Dat staat duidelijk op de pagina, ik ben er liever open over.
Flashen vanuit de browser
Hier komt het stuk dat alles verandert. Steek je ESP32-S3 via USB in, open de flashpagina in Chrome of Edge, kies je versie, klik. De firmware installeert zich. Dat is alles.
Geen Python, geen toolchain, geen commandoregel. Onder de motorkap is het ESP Web Tools dat met de print praat via Web Serial, rechtstreeks vanuit het browsertabblad. Je kan het kanaal kiezen (stable of beta) en de exacte versie tussen de gepubliceerde builds. Het flashmanifest wordt ter plekke gegenereerd, in de browser.
Het detail dat me het meeste zweet heeft gekost is, ironisch genoeg, het meest onzichtbare. De binaire bestanden worden gepubliceerd op GitHub, maar GitHub Release-bestanden geven geen CORS-headers terug, dus de browser kan ze niet rechtstreeks ophalen. Daarom heb ik een kleine CORS-proxy opgezet op fw.theopenmusicbox.com die de .bin-bestanden serveert met de juiste headers en een cache. Niets wat je ooit zal zien, maar zonder dat zou flashen met één klik gewoon niet werken.
Bedrading en het behuizing
De Bouwpagina geeft ook de echte pinout van elk onderdeel weer, rechtstreeks gehaald uit de firmwarecode in plaats van uit giswerk: de SPI-bus van de NFC-lezer, de SPI-bus van de SD-kaart, de I2S-audio, de LED-ring, de encoder en de knoppen. Genoeg om de bouw netjes te reproduceren.
Voor de behuizing werk ik aan een compactere v4. De beoogde onderdelen worden nog geselecteerd, en de printbestanden komen pas naar buiten wanneer ze echt klaar zijn om te volgen. In tussentijd blijft de v3-behuizing gedocumenteerd.
Aan jou
Het project ging van iets waar ik mee knutselde voor mijn kinderen naar een systeem dat iedereen kan oppikken. De code is er, flashen kost één klik, en de mobiele app stuurt het hele geheel aan.
Het vertrekpunt is de Bouwpagina: de drie bouwwegen, de pinout van de onderdelen en de flasher, allemaal op één plek.
Als je ervoor gaat en je eigen doos bouwt, laat het me weten. En als je ergens vastloopt, vragen zijn welkom, laten we het samen uitpraten.