Goochelen met de Raspberry Pi

De studio waar normaal gesproken goocheltrucs ontwikkeld worden voor zijn shows, is nu ook al een tijdje in gebruik voor het ultieme makersproject: de Nin10do. Wij gingen op bezoek bij Daniel Spies, de maker van de Nin10do retro gameconsole. Het Nin10do-project valt op tussen de vele andere makersprojecten. Dat komt voornamelijk door de enorme drive van de maker zelf. Zijn project is goed gedocumenteerd en Daniel heeft zelfs video-tutorials gemaakt om je te helpen de oude tijden van de gameconsole te laten herleven.

De Nin10do is een retro gameconsole, bestaande uit een Raspberry Pi 2 model B in een 3D-geprinte behuizing en enkele LED’s, die aangestuurd worden met de RPi. Voor het ware retro-gevoel is er een stappenmotor ingebouwd, die een klepje opent, zodat je je favoriete gamemodule in de console kunt schuiven. In gedachten weliswaar, want de RPi draait RetroPie, die voorzien is van een diversiteit aan emulators voor diverse jaren ‘80 en jaren ‘90 thuiscomputers en games. Onder het klepje zitten de USB-aansluitingen verborgen.

Studieobject

Daniel Spies (31 jaar) is van jongs af aan al bezig met goochelen. Na de middelbare school is hij dan ook meteen als goochelaar en illusionist in de leer gegaan en voor zichzelf begonnen (www.close-up-illusies.nl). Via zijn optredens is hij in de muziekwereld terecht gekomen en tegenwoordig is hij mede-eigenaar van een grote winkel in toetsinstrumenten (www.pianometropool.nl). Een tijdje geleden is Daniel gefascineerd geraakt door de Raspberry Pi. “In eerste instantie was het een openbaring dat je met een computer een lamp kon aan- en uitschakelen. Ik ben me toen gaan verdiepen in de Raspberry Pi en het aansturen van de GPIO-pinnen. Het moet toch mogelijk zijn om het computertje te gebruiken tijdens goocheltrucs? De compactheid maakt het mogelijk het apparaatje weg te werken en via de GPIO kunnen vervolgens special effects worden aangestuurd, zoals lampen, vuur- en rookmachines en elektromagneten,” vertelt Daniel. “Maar zover is het nog niet. Ik heb met mijn “University of Life” opleiding natuurlijk geen IT-achtergrond, behalve wat BASIC-ervaring op school. Gelukkig is er over de RPi ontzettend veel informatie op internet te vinden, dus ik ben heel veel gaan zoeken, lezen, studeren en uitproberen.”

 

Het Nin10do-project

Vorig jaar in november nam Daniel het besluit om een deel van zijn spaarzame vrije tijd aan de Raspberry Pi te besteden, naast muziek, goochelen en zijn familie. Hij zocht een studieobject dat alle aspecten bezat - programmeren in Python, elektronica, mechanica en design én dat ook nog eens cool was om te maken. Het einddoel is om zoveel mogelijk kennis op te doen, zodat de Raspberry Pi in een later stadium concreet inzetbaar wordt bij zijn goocheltrucs. “Ik wilde iets gaafs maken wat ook nog leuk was om te doen. Omdat mijn partner en zoon van 11 echte gamers zijn, net als ik, lag een retrogame console met RetroPie (een versie van Emulation Station voor de Raspberry Pi) voor de hand. Om mechanica en elektronica als componenten toe te voegen zijn onder meer een stappenmotor en LED’s toegevoegd,” gaat Daniel verder. “Wat me opviel, ook na het lezen van het Raspberry Pi nummer van Linux Magazine van vorig jaar, is dat het bij veel van die makersprojecten vooral gaat om de techniek te laten werken. De uiteindelijke finishing touch, de afwerking, wordt vaak niet meer gedaan, omdat het project immers technisch afgerond is. Veel projectjes eindigen in houten kastjes of doosjes, hangen aan elkaar met kabeltjes en plakband of zien er goedkoop uit.”

 

Onderschrift: De originele NES uit 1981

Daniel heeft een ontwerp gemaakt voor een behuizing, waarbij hij het oude ontwerp van de NES in het achterhoofd hield. Deze heeft hij laten 3D-printen om zo een goed ogend “eindproduct” te kunnen laten zien. De naam is afgeleid van het oorspronkelijke device en het Nin10do-logo is zelf ontworpen en 3D-geprint. 3D-printen maakt het makersproject niet alleen netjes af, maar het voegt ook een extra nieuw en complex element toe aan het geheel. En uitdagingen zoeken en daarvan leren, was waar dit project nu net om begonnen was.

 

Niet te koop

De Nin10do is nu al een enorm succes. Twee maanden na het idee was de eerste Nin10do gereed. De Nin10do is net zo gebruiksvriendelijk en ziet er even sjiek uit als een commerciële console. Je kunt hem dus gerust een plekje geven naast je Playstation of Xbox in de woonkamer. Het project is veel bekeken en beschreven op allerlei sites over makers en techniek, waaronder Tweakers, AdaFruit, 3dprint.com, 3ders.org, Element14, 3dprintboard.com, retroforum.nl, mancave.conrad.nl en uiteraard op raspberrypi.org. Dagelijks ontvangt hij vele fanmails uit de hele wereld met vragen over het project. Het is een eindproduct, dat je zo op de markt zou kunnen brengen. De meest gestelde vraag is dan ook: waar kan ik de Nin10do kopen? Het antwoord is nergens. Het maken van dit device is handwerk en de behuizing is een relatief dure component in het geheel. Als je dit apparaatje kant-en-klaar zo zou moeten kopen, dan  ben je zo 500 euro kwijt (manuren voor het monteren meegeteld). Daniel heeft door dit Nin10do-project ondertussen een goede relatie opgebouwd met diverse leveranciers van onderdelen. Een grote Amerikaanse fabrikant heeft zelfs onlangs contact gezocht voor een verdere (nog nader uit te werken) samenwerking in de toekomst. Dus wie weet waar en hoe de Nin10do nog opvolging gaat krijgen.

 

Power off

Na het maken van een ontwerp op papier is op de werkbank het eerste prototype gemaakt. Erg lastig bleek de aan/uit-schakelaar. Je wilt de Raspberry Pi netjes met een shutdown uitschakelen, nadat je op het knopje hebt gedrukt, zodat je niet eindigt met een corrupt filesysteem op je SD-kaartje of nog ernstigere schade. De schakelaar werd als bouwpakket aangeschaft en moest nog in elkaar gesoldeerd worden, maar het bleek niet goed te functioneren. Een tweede vertoonde hetzelfde euvel: de condensator bleef te lang opgeladen na het uitschakelen, waardoor de LED-lampjes bleven branden, terwijl de Raspberry allang uitgeschakeld was. Een andere aan/uit-schakelaar, een kant-en-klaar printplaatje, werkte wel naar behoren (zie de lijst van onderdelen). De Raspberry Pi model B+ bleek voor RetroPie goed te functioneren, maar hij is wel maximaal overgeklokt en voorzien van koelelementen. Inmiddels is de Nin10do geüpgraded naar de snellere RaspBerry Pi 2 model B en is overklokken niet meer nodig. De opstarttijd van de overgeklokte Raspberry Pi Model B+ was ruim 50 seconden en de opstarttijd van de niet-overgeklokte Raspberry Pi 2 Model B was slechts 27 seconden. Je ziet dus meteen de snelheidstoename van het nieuwe device terug. 

 

Montage

Het ontwerp voor de case is gemaakt in het gratis en simpel te gebruiken Autodesk 123D. Vervolgens is de case met een 3D-printserver geprint in XT-Co Polyester (door printics.nl). Dit is wat duurder dan ander materiaal, zoals PLA-plastic (PolyLactic Acid) of ABS-plastic (Acrylonitrile Butadiene Styrene). Het resultaat is echter wel mooier en steviger. De eerste 3D-print kostte 165 euro en het duurde maar liefst 36 uur om te printen. “Het was heel spannend toen de 3D-afdruk met de post werd geleverd,” vertelt Daniel. “Een meetfoutje is zo gemaakt, dus ik heb meteen elk onderdeel gepast, en het klopte wonder boven wonder allemaal precies.” Vervolgens is alles gemonteerd, inclusief de Raspberry Pi, een ATX power supply, de stappenmotor en de USB-hub. De Nin10do heeft een verlicht knopje, dat de cover opent waar de USB-aansluitingen onder weggewerkt zijn. Elk van de vier USB-poorten is voorzien van een LED. In deze versie gaan alle vier de blauwe LED’s aan, maar uiteindelijk moet elke LED aangeven of er een device in de betreffende poort zit. Links zit het eveneens verlichte (en beruchte) aan/uit-knopje. De Raspberry Pi moet vervolgens nog voorzien worden van Raspbian, RetroPie en het speciale splash screen voor Nin10do. En zo is de eerste Nin10do game console geboren!

 

De tweede Nin10do

De eerste is geboren? Ja, Daniel heeft ook nog een tweede exemplaar gemaakt, in een iets verbeterde case. De reden hiervoor was om het hele maakproces op video vast te leggen, zodat andere makers het gemakkelijk kunnen nabouwen. Na het inrichten van een tijdelijke studio met meerdere camera’s en licht is de montage van de Nin10do vastgelegd. De schermopnamen met een camera waren kwalitatief onder de maat. Om screen captures van de Nin10do haarscherp te kunnen opnemen, is een speciaal HDMI-capture device gekocht (van AVerMedia). In drie HD-films van 20 minuten wordt alles haarfijn uit de doeken gedaan. “Het maken van de video’s heeft misschien nog wel meer tijd en inspanning gekost dan het hele Nin10do-project zelf,” lacht Daniel. “Ik zorg in de video voor de rekwisieten, ik ben de acteur, de regisseur, de opnameleider en de man van de het geluid en de belichting. Dat lijkt eigenlijk best veel op het uitvoeren van een goochelact in een zaal of op een podium.” Het resultaat mag er dan ook zijn. Het zijn leuke illustratieve video’s, goed gemonteerd en voorzien van 3D-effecten en titels. Je kunt ze zelf bekijken via de links verderop.

 

Nin10do Splash screen

 

Gamen maar

Je schakelt de Nin10do in met een druk op de aan/uit-knop, de cover gaat open en het splash screen verschijnt op het beeldscherm. Je sluit je controllers aan op de USB-poorten. Dat kunnen speciaal aangeschafte controllers zijn of bijvoorbeeld NES- of SNES-controllers, die je nog ergens hebt liggen. Even later zit je in het menu met vele tientallen emulators van RetroPie.  Je selecteert een emulator en vervolgens het gewenste spel en je waant je weer helemaal in de eighties. Er is één kleine maar: ROM’s voor de geëmuleerde consoles en ROM’s voor de duizenden games moet je zelf zoeken en downloaden. Officieel en legaal bekeken, mag je de meeste games alleen spelen als je het originele exemplaar in je bezit hebt, maar het is een wat grijs gebied.

 

 

DIY

Je bouwt de Nin10do zelf helemaal na. Daniel heeft alles gedocumenteerd op Hackaday. Je vindt er de instructievideo’s, de onderdelenlijst, Python-scripts, het Raspbian image met RetroPie voor op je SD-kaartje en het Splash image. Uiteraard vind je ook het ontwerp van de behuizing in een collectie STL-bestanden, die je zo naar de 3D-printer kunt (laten) sturen. Daniel: “De Nin10do bouwen kost je waarschijnlijk slechts één vrije zondag, ervan uitgaande dat je vooraf alle onderdelen hebt aangeschaft en de 3D-print van de case hebt laten maken. De totale kosten schat ik op 250 à 300 euro. Dat is inclusief de kwaliteits-3D-print van de case en een Raspberry Pi 2 model B, maar exclusief beeldscherm. Ik weet dat er veel mensen bezig zijn een Nin10do te bouwen. Ik zou het fantastisch vinden om later eens foto’s te zien van Nin10do’s in een andere kleur of met een aangepast ontwerp.”

 

 

One more thing…

Als je bij een goochelaar op bezoek bent, dan weet je van tevoren dat je ‘geïllusioneerd’ naar huis gaat. Ik krijg een pak kaarten in het doosje in mijn handen geduwd. “Noem mij een willekeurige kaart.” Uhh, harten vrouw? Het doosje gaat open, de kaarten worden eruit gehaald en uitgevouwen met de achterzijden van de kaarten zichtbaar. Harten vrouw is de enige, die andersom in spel kaarten zit. Hoe doet ie dat nou….

 

Links

Daniel op Hackaday: hackaday.io/project/4387-raspberry-pi-nin10do,

Daniel op GitHub: github.com/TheDanielSpies/Nin10do-Project

 

Ingekorte onderdelenlijst:

·       Raspberry Pi 2 model B

·       USB HUB (2.0 met 4 poorten powered) inclusief adapter

·       Metalen Push Button Wit & Blauw van www.iprototype.nl

·       LED 5mm rood van www.iprototype.nl

·       LED houder van www.kiwi-electronics.nl

·       HDMI koppelstuk van www.allekabels.nl

·       DC Barrel Jack Paneel connector van www.iprototype.nl

·       5V Stappenmotor van www.hobbyelectronica.nl

·       ATX Raspi PowerSupply van lowpowerlab.com

·       Controller van www.123afstandsbediening.nl

·       Netwerkkabel Cat5E van www.allekabels.nl

·       Netwerk koppelstuk van www.allekabels.nl

·       LED Blauw (extra fel) van www.iprototype.nl

·       Heat Sink kit van www.iprototype.nl

·       SD Kaart 8GB

·       Gatande Poelie met een 4mm gat van www.kiwi-electronics.nl

·       Tandriem van www.kiwi-electronics.nl

·       Tandriem Clamp van www.iprototype.nl

·       4mm Asje 50cm van www.conrad.nl

·       Draad, male & female crimp-headers (Dupont) 

·       5 x 680 Ohm weerstanden voor de LED’s

·       Condensator 100uF voor de tweede push button

·       Verf, lijm, enzovoort

 

 

 

 

 

NEDLINUX FORUM

Het nederlandse linuxforum
Voor beginners en pro’s

 

 

 

 

E-mailadres



 

 

Nieuwste editie:

Linuxmag op Facebook

@linuxmagnl op Twitter

linuxmagNL Ook de Red Hat Forum BeNeLux 2017 mag je dit jaar niet missen. 10 oktober 2017, zet het in je agenda! https://t.co/niY9UdK3Ov
linuxmagNL Mis het niet en save the date! Red Hat Tech Day, 13 juni 2017. https://t.co/qlMiphMT0l