Ik stel je het prototype 3 van The Open Music Box voor: een audiospeler voor kinderen die met NFC-kaartjes wordt aangestuurd, en vooral een compleet open source systeem dat iedereen kan namaken met een Raspberry Pi.
Maar voor we de doos opendoen, even iets over de weg ernaartoe. In het vorige artikel liet ik het tweede prototype zien, en de grote nieuwigheid daarvan: de playlists, waar mijn zoon dol op was om met de twee knoppen op de voorkant doorheen te bladeren. Eén ding moest nog beter: de behuizing was te krap voor een accu. Altijd aan het stopcontact, en elke keer één tot twee minuten wachten bij het opstarten. De v3 zet die doorlopende verbeterslag voort: een afgewerkte versie, klaar om de oude te vervangen, en deze keer ook om te delen.

Een interface om content te beheren
Bij de v2 betekende een verhaal toevoegen: inloggen via SSH, MP3-bestanden in de juiste map zetten, een script starten om de kaartkoppeling voor de nieuwe playlists in te stellen, en daarna de service herstarten. Niet echt geschikt voor gebruik door het hele gezin...
Daarom heb ik een webinterface ontwikkeld die rechtstreeks door de Raspberry Pi wordt geserveerd. Vanaf elke telefoon of computer op hetzelfde netwerk kun je playlists aanmaken, audiobestanden uploaden en een NFC-kaart aan een playlist koppelen. Geen terminal, geen gepruts met bestanden.

Alles wat je nodig hebt, doe je vanaf dit scherm. De box laat meteen zien wat er aan de kant van de telefoon verandert, en andersom.

Uploaden gaat via slepen-en-neerzetten, bestand voor bestand, met een voortgangsbalk.

Het koppelen van een NFC-tag werkt op dezelfde manier: je start de koppelmodus in de interface, je houdt de kaart bij de lezer, en hij is gekoppeld aan de playlist. Geen handmatig gehannes met identifiers meer.

Een accu om hem mobiel te maken
Aan de hardwarekant was de hoofdklus bij de v3: eindelijk een accu in de behuizing krijgen om af te kunnen stappen van het stopcontact. Dus heb ik de behuizing helemaal opnieuw getekend, beginnend bij de accu: eerst die op maat krijgen, en daarna de rest eromheen plaatsen.
Binnenin zit een LiPo-accu die op een klein boardje wordt aangesloten dat via USB oplaadt en op accu overgaat zodra je de stekker eruit haalt. Op papier was het probleem daarmee opgelost: geen draadje meer aan de doos, geen wachttijd bij het opstarten.
Behalve dat de overschakeling van USB naar accu in de praktijk een micro-stroomonderbreking veroorzaakt, waardoor de Raspberry Pi herstart. Resultaat: ik heb mobiliteit gewonnen, maar die wachttijd van één tot twee minuten blijft.
Geen ramp, je leert eromheen werken, maar wel frustrerend. Ik heb geprobeerd met condensatoren de stroom glad te strijken, maar ik ben geen elektronicus en dit probleem is er tot vandaag nog steeds.
Knoppen voor interactieve verhalen
Tijdens het ontwerp van de v3 begon ik na te denken over interactieve verhalen: een audioverhaal waarin het kind met een druk op een knop kiest hoe het verdergaat. Daarvoor waren twee knoppen op de voorkant niet meer genoeg, het moesten er vier zijn, voor maximale interactiviteit.
Daarom heb ik vier gekleurde knoppen bovenop de behuizing geplaatst. Meteen ook een verbetering qua ergonomie: drukken op de bovenkant voelt prettiger om mee te interacteren, en je duwt de doos niet weg als je erop drukt.
Het formaat voor de interactieve verhalen ligt nog niet vast, maar de behuizing is al klaar om ze op te vangen wanneer het zover is.
De behuizing maken
De uiteindelijke behuizing volgt dezelfde logica als de v2: een 3D-geprinte structuur, bedacht als het skelet van een kubus, met lasergesneden MDF-panelen als zijkanten. Wat verandert: de afmetingen, de uitsparingen voor de nieuwe knoppen bovenop, toegang tot de accu via de onderkant zonder alles te hoeven demonteren, en een strakker geheel.
Om deze kubusstructuur in één stuk te printen, was er flink wat kalibratie nodig. De uitdaging zaten in de lange bruggen van wand naar wand: ze moesten netjes neerzakken zonder door te zakken, en daarna moesten de supports schoon loslaten zonder sporen achter te laten.

Heel wat prints zijn opgeofferd voordat het resultaat schoon was.

Toen de structuur eenmaal geprint was, kwam de volgende oefening: de maten van de interne plaatjes die de componenten dragen, de geprinte onderdelen en de lasergesneden houten panelen op elkaar laten passen. Drie productietechnieken, drie verschillende precisies, om allemaal samen te laten vallen. Ik heb er veel uit gehaald over de kalibratie van een 3D-printer en welke instellingen er echt toe doen voor de eindkwaliteit.
Het systeem namaken
Prototype 3 werkt, het draait elke dag bij ons thuis. Eén stap restte er om er een echt project van te maken: het reproduceerbaar maken.
Voorlopig is vooral de applicatie beschikbaar: de code werkt op GitHub, en een configuratiescript richt de Raspberry Pi automatisch in, van het installeren van dependencies tot het starten van de service. Niet-commerciële licentie, vrij voor persoonlijk en educatief gebruik en aanpassingen.
Voor de behuizing zijn de STL-bestanden en de BOM nog in afwerking. Ik publiceer ze liever pas als ze echt geschikt zijn om te volgen. Het komt eraan, en ik beantwoord vragen die gesteld worden via een issue.
En daarna
Deze Raspberry Pi-versie is een eindpunt, maar tegelijk ook een kantelpunt. In dagelijks gebruik is hij duur, hij verbruikt veel, hij start traag op, en hij heeft een compleet besturingssysteem nodig voor wat in essentie een audiospeler met NFC blijft. Het is te veel voor wat het doet. Ik heb (te) veel tijd gestoken in deze proof of concept, en het is tijd om de bladzijde om te slaan voor passender componenten.
Daarom is de Raspberry Pi-repo op GitHub gemarkeerd als deprecated: wat volgt vraagt op dit moment al mijn energie, en die laat ik je zien in het volgende artikel.
Dat gezegd hebbende, deze versie blijft open source, beschikbaar en bruikbaar voor iedereen die ermee aan de slag wil. De code staat er, werkend. De behuizing-bestanden volgen. Bouw je er zelf een, laat het me weten.