Bouw een arcade computer voor minder dan 150 euro

40 reacties
Inhoudsopgave
  1. 1. Inleiding
  2. 2. Het idee
  3. 3. Onderdelenlijst
  4. 4. Het ontwerp
  5. 5. Aan de slag!
  6. 6. Raspberry Pi aansluiten
  7. 7. Retropie
  8. 8. Besproken producten
  9. 9. Reacties

Inleiding

Arcadehallen zijn met de opkomst van gameconsoles vrijwel geheel verdwenen, maar met een beetje huisvlijt haal je dat oude gevoel van joystick, grote drukknoppen én al die klassieke games weer in huis. Wij bouwen een complete tweepersoons arcade computer, voor minder dan 150 euro.

Wie in de jaren tachtig en negentig is opgegroeid, denkt waarschijnlijk met weemoed terug aan arcadekasten, manshoge spelcomputers die in sportkantines en spelhallen terug te vinden waren en waarop je doorgaans één game kon spelen. Arcadekasten zijn met de opkomst van consoles langzaam minder populair geworden, maar games als Street Fighter, Tekken, Double Dragon of oudere games als Pac Man, Galaga en Space Invaders spelen het lekkerst op een machine met een joystick en grote knoppen, waar je hard op kunt rammen.

Wil je dat oude arcadegevoel in huis halen, dan zijn er meerdere opties. Echte arcadekasten zijn lastig te bemachtigen, doorgaans duur en bovendien beperkt tot het spelen van één game. Zelfbouwen is dus een praktischere optie. Voor vrijwel alle arcadeplatforms is goede emulatorsoftware beschikbaar, die het mogelijk maakt om deze classics op pc-hardware of zelfs op eenvoudige computertjes zoals een Raspberry Pi te laten draaien. Ook het bouwen van een kast of controller is niet ingewikkeld.

Het idee

We willen dus een arcadecomputer bouwen waar je met twee personen op kunt gamen, die makkelijk op te bergen is én bovendien niet te veel mag kosten. Het liefst willen we zowel modernere games kunnen spelen die gebruik maken van een 8-weg joystick, als échte oude classics die een 4-weg joystick nodig hebben. Om te zorgen dat we niet snel knoppen tekort komen, willen we ook acht drukknoppen per speler.

Als je Googlet naar ‘DIY Arcade Cabinet’ vind je een schat aan informatie over het bouwen van complete full-size arcadekasten zoals we die kennen uit de speelhallen van vroeger. Puristen bouwen dat soort machines het liefst zo origineel mogelijk na, wat betekent dat er bij voorkeur ook een CRT-monitor in gaat. Voor ons project willen we het zo gek niet maken. Gebruik van een beeldbuis betekent per definitie dat een arcadekast groot en diep wordt, en wij willen wél het arcadegevoel, maar dan in een vorm die ook op te bergen is. Daarom bouwen we geen complete arcadekast, maar een tweepersoons controller mét ingebouwde computer. Via hdmi willen we deze arcadecomputer vervolgens op een monitor of televisie aansluiten. Klaar met gamen? Dan kan onze arcade zonder problemen weer opgeruimd worden.

Dat is uiteraard een concessie aan het echte arcadegevoel, maar het geeft ons ook een voordeel. Standaard arcadekasten zijn meestal zo’n 70 centimeter breed, en als je daar met twee volwassenen achter wilt spelen is dat best krap. Doordat wij feitelijk alleen een controllerpaneel bouwen, kunnen we deze breder maken, zodat we wat meer speelruimte hebben.

Onderdelenlijst

Ons doel is om deze build zo betaalbaar mogelijk te houden en daarom kiezen we niet voor een pc als basis voor onze arcadecomputer, maar voor een Raspberry Pi 3B, die voor ongeveer 35 euro te koop is. Deze kleine single-board computer beschikt over een quad-core 1,2 GHz Broadcom BCM2837 SoC, 1 GB RAM, Ethernet, Wifi, 4 usb 2.0-poorten, hdmi-out en een micro-sd slot voor opslag. De Raspberry Pi kan verschillende Linux distributies draaien. Wij zullen gebruik maken van RetroPie, een distributie die bedoeld is om arcadekasten én verschillende oudere gameconsoles te emuleren. We kopen er voor 15 euro een 64GB micro-sd kaartje bij, waar we het OS en de games op zullen installeren.


Hart van onze arcadecomputer is een Raspberry Pi 3B, een single-board computer van ongeveer 35 euro.

Qua controllerhardware kan je het zo gek maken als je wilt. Sticks en buttons zijn er van veel verschillende merken, waarbij prijs (en kwaliteit) sterk uiteenlopen. Wij hebben twee wensen: we willen knoppen en joysticks die werken met echte microswitches, die dat fijne ouderwetse klikgevoel geven. Daarnaast willen we bij voorkeur joysticks die zowel in 8-weg als in 4-weg modus kunnen werken. Sommige oude games zoals Pac Man vragen namelijk om een 4-weg joystick, die alleen een signaal geeft als deze naar boven, beneden, links or rechts geduwd wordt. Gebruik je een moderne 8-weg joystick, die ook linksboven, linksonder, rechtsboven en rechtsonder posities registreert, dan zal zo’n oude game geen reactie geven als je de stick niet precies horizontaal of verticaal beweegt.  Gelukkig zijn er veel sticks die instelbaar zijn tussen 4- en 8-weg, en er zijn zelfs sticks die je kan veranderen van modus door de stick omhoog te trekken en deze een kwartslag te draaien. Die sticks zijn echter prijzig, en te duur voor ons project. Bij goedkopere sticks zoals wij die gebruiken wordt het schakelen tussen 4- en 8-weg gedaan met een frame onderop de joystick, dat in twee posities gemonteerd kan worden en dat de beweging van de stick fysiek beperkt, zodat deze in 4-weg modus niet naar de diagonale hoeken kan bewegen. Nadeel hiervan is uiteraard dat je om te wisselen bij de onderkant van de stick moet kunnen, hier een frame moet losschroeven, verplaatsen en weer vastschroeven. Onpraktisch dus.

Shoppen in China

Wij kozen dan ook voor een andere oplossing. Een zoektocht op Aliexpress levert tientallen sets met onderdelen voor arcadesticks op. Wij vonden voor 35 euro inclusief verzendkosten een set met twee ‘Zippy’ joysticks, twintig knoppen, twintig microswitches en twee usb-encoders. Na wat overleg met de verkoper kregen we daar voor 15 euro nog twee extra joysticks, extra kabels en nog wat extra knoppen bij. Wat is namelijk ons plan? In plaats van één joystick per persoon die (lastig) te wisselen is tussen 4- en 8-weg werking, gaan we er twee per persoon gebruiken, waarvan er één altijd in 4-weg modus werkt- en de ander als normale 8-weg stick gebruikt kan worden. Door de joysticks parallel op de controller aan te sluiten kan je van stick wisselen zonder dat hier softwarematige aanpassingen voor nodig zijn.


Voor in totaal 50 euro kopen we op Aliexpress al deze onderdelen om onze tweepersoonscontroller mee te bouwen.


Wij gebruiken per speler twee joysticks, waarvan we er één met een restrictor plate beperken tot 4-weg werking.

Op Aliexpress vinden we voor 7 euro ook een gecombineerde usb- en hdmi-verlengkabel, die eindigt in een dubbel socket dat we aan de achterkant van onze controller kunnen inbouwen. Voor de voeding van onze controller gebruiken we een 12.000 mAh powerbank die we nog hadden liggen, maar die je nieuw ook vanaf zo’n 20 euro kunt vinden. Uiteraard kan je de Rasperry Pi ook met een standaard smartphonelader voeden, maar wij willen liefst zo min mogelijk kabels.

Voor de behuizing maken we gebruik van 12 mm dik MDF-plaatmateriaal en een 5 cm brede lat die we gebruiken voor de opstaande randen van de zijkanten. De kosten daarvan schatten we op zo’n 20 euro, wij gebruikten restmateriaal dat we nog hadden liggen. Het hout en de powerbank niet meegerekend komt ons boodschappenlijstje dus uit op ongeveer 110 euro. Moet je die nog wel kopen, dan zal je voor zo’n 150 euro klaar zijn.

USB-Encoder

We benoemden het al even in het lijstje met de joystickonderdelen die we kochten, maar om de input van de switches en knoppen aan een pc –  of in ons geval de Raspberry Pi - door te geven, is een usb-encoder nodig. De versie die wij bij onze kit krijgen heet volgens de omschrijving ‘Zero Delay USB Encoder’ en is ook los te koop voor ongeveer 7 euro. Het kleine printplaatje bevat een hele rits 2-pins headers, waarop je aan-uit switches kunt aansluiten. In ons geval zijn er twaalf voor normale buttons, vier voor de switches van joysticks met losse kabels per switch, een 5-pins connector voor joysticks met een flatcable, vier ingangen voor speciale functieknoppen (auto, clr, turbo, mode) en één 4-pins usb-uitgang waar een meegeleverde kabel met usb type-a stekker op aangesloten dient te worden. Steek je deze vervolgens in een computer, dan wordt de encoder automatisch herkend als een HID-compatible gamecontroller die zonder verdere drivers direct onder Windows te gebruiken is. Ook het RetroPie besturingssysteem dat wij op onze Raspberry Pi gebruiken kan direct met deze controller overweg.


Onze usb-encoders hebben zetten de signalen van de joysticks en buttons om naar een HID-compatible usb-signaal.

Het ontwerp

De layout van arcadekasten verschilt sterk. Sommige arcadegames gebruiken alleen de joystick en één knop, terwijl met name nieuwere games zes of soms zelfs acht knoppen per speler gebruiken. Wij willen in alle gevallen goed zitten, en kiezen dus voor acht knoppen per speler. Omdat we zelf een kast bouwen, zijn we natuurlijk vrij in het kiezen van layout om deze in te plaatsen. We proberen het wiel echter niet opnieuw uit te vinden; een zoektocht naar ‘arcade button layout’ brengt ons naar slagcoin.com, een site waar meerdere layouts als printbare templates te downloaden zijn. Wij kiezen voor een versie waarbij de knoppen in een lichte kromming geplaatst worden, die goed overeenkomt met de lengte van onze vingers.


Op slagcoin.com downloaden we een template voor de plaatsing van de knoppen en de joystick.

We printen deze tweemaal uit en plaatsen de templates op onze MDF plaat. Omdat we per persoon twee joysticks gebruiken is het letterlijk een kwestie van passen en meten hoe deze het best gepositioneerd kunnen worden. Uiteindelijk kiezen we ervoor om de 8-weg joystick die we het vaakst zullen gebruiken op de positie te plaatsen die het template voorschrijft, terwijl de we 4-weg joystick daar schuin linksboven plaatsen. Op die manier heb je er geen last van, maar is de stick nog wel gemakkelijk bereikbaar.


Passen en meten. Onze controller wordt 85 centimeter breed en biedt voldoende ruimte voor twee spelers.

Om zeker te zijn dat twee volwassenen prettig naast elkaar kunnen spelen maken we de behuizing 85 centimeter breed, aanzienlijk breder dus dan de 70 centimeter die veel arcadekasten meten. Qua diepte kiezen we voor 30 centimeter. Iets minder diep zou ook kunnen, maar deze verhouding vinden wij er het fraaist uitzien.

Aan de slag!

Nadat we het hout op maat gezaagd hebben, nemen we de posities voor de knoppen en de joysticks van onze templates over op het hout. Dit kan met een priem, of als je die niet hebt door met een scherpe schroef of spijker door het template een klein deukje in het MDF te duwen. Let er uiteraard wel op dat je het template niet verschuift tijdens het overzetten van de boorpunten! Behalve de acht knoppen per speler maken we in het midden van de bovenplaat ook vier extra gaten voor de 1 player-, 2 player-, start- en select-knoppen.


We nemen de locaties van de boorgaten met een scherpe schroef over op de mdf-plaat…


… en boren de gaten voor de knoppen uit met een 25 mm speedboor.

We boren de gaten voor alle knoppen uit met een 25 mm speedboor. Voor de gaten waar de joysticks door naar boven steken kiezen we een kleinere 18 mm boor, deze diameter geeft de sticks precies voldoende vrijheid om alle kanten op te bewegen zonder het MDF van het bovenblad te raken. Een plastic afdekring die met de joysticks meegeleverd wordt zorgt ervoor dat we de gaten straks sowieso niet meer zien.

Als alle gaten geboord zijn, zagen we van een 5 cm brede vurenhouten lat vier stroken die als opstaande zijkanten van de behuizing dienst gaan doen. Deze verlijmen we vervolgens met het MDF bovenblad.


We lijmen 5 cm brede vurenhouten latten onder het paneel om zo een ‘bak’ te maken…


… waarvan we na het drogen van de lijm alle randen vlakschuren....


… en vervolgens alles voorzien van een laag grondverf en witte lak.

Wanneer de lijm gedroogd is, schuren we de zijkanten vlak en zetten we het geheel in de grondverf. Na een paar uur droogtijd is het vervolgens tijd voor de afwerklaag. Hierbij kan je natuurlijk voor elke kleur kiezen die je wilt. Wij willen de joystick laten matchen met ons witte audiomeubel waarop het apparaat na gebruik opgeborgen zal worden, en kiezen daarom voor zijdeglans wit.

Als de verf goed droog is, kan de uiteindelijke assemblage beginnen. We beginnen met het monteren van de sticks, die vanaf de onderkant met vier schroeven aan het bovenblad vastgemaakt worden. Hierna steken we de drukknoppen door de gaten en draaien we deze met de meegeleverde moeren stevig tegen het blad aan.


De sticks monteren we vanaf de onderkant, met korte zelftappende schroeven.

Onze drukknoppen bestaan uit meerdere delen, waarbij je naar keuze ook leds in de knoppen kunt plaatsen om deze te laten oplichten. Achterop de module waarin deze leds zitten klikken we de switches vast die de signalen van de knoppen daadwerkelijk registeren. Onze joysticks werden geleverd met kant-en-klare kabels die aan de ene kant met een 2-pins stekker in de usb-encoders gestoken worden, en waarvan de andere kanten twee kabelschoenen bevatten die we om de aansluitingen van de switches klemmen. Een kind kan de was doen dus.

De linker spelpositie is die van player 1, en op de usb-encoder voor deze speler sluiten we ook de extra 1 player, 2 player, start en select toetsen aan. Omdat deze in het midden van de controller zitten, lukt het niet om zonder kabels te verlengen zowel alle knoppen als de geheel naar links geplaatste joystick aan te sluiten. We hebben gelukkig wat kabels over en moeten uiteindelijk twee kabels van de joystick verlengen. In eerste instantie sluiten we alleen onze primaire 8-weg joysticks aan. Als we het systeem draaiend hebben en weten dat alles werkt, zullen we ook de 4-weg joysticks verbinden. We schroeven de usb-encoders met zelftappende mini-schroeven aan de onderkant van het controllerblad vast, waarna we de usb-kabels op de controllers aansluiten. 


De knoppen worden vanaf de bovenkant door het controllerblad gestoken…


...en aan de onderkant met meegeleverde moeren vastgezet, waarna we de microswitches op de knoppen klikken.


Eerst sluiten we de joystick, en daarna alle knoppen op de usb-encoders aan, die we vervolgens aan het controllerbord vastschroeven.

Raspberry Pi aansluiten

De Raspberry Pi computer bestaat uit één compact printplaatje, dat we net als de usb-encoders direct op het controllerblad kunnen schroeven. Omdat we de beschikking hebben over een 3d printer, kiezen er echter voor om op thingiverse.com een behuizing te downloaden en deze te printen. Nodig is het niet, maar we vinden het net even fraaier en omdat de deksel van de behuizing de connectors ondersteunt, kunnen deze net iets beter tegen eventuele zijwaartse trekkrachten van de usb- en hdmi-kabels. We monteren onze usb-hdmi-verlengkabel in een gat dat we in de achterkant van onze controller boren, en sluiten deze intern aan op de hdmi-uitgang en een vrije usb-poort van de Raspberry Pi. Op deze manier kunnen we gemakkelijk een externe monitor en een extra usb-apparaat aansluiten.

Als laatste klemmen we ook onze powerbank met twee verbogen hoeklijnen aan het bovenblad vast, waarna het systeem hardwarematig helemaal klaar is.


Achterin de behuizing boren we een gat waarin we de socket van onze usb- en hdmi-verlengkabel steken.


De Raspberry Pi krijgt een centrale plaats in de behuizing.


De powerbank monteren we met twee klemmen in een vrij hoekje.


Als laatste sluiten we ook onze 4-weg joysticks aan. Hiervoor knippen we de 2-pins connectors van de bekabeling af, en solderen we deze rechtstreeks op de connector kabelschoenen van de 8-weg joysticks.

Als laatste monteren we een kleine drukknop aan GPIO pin 15 en 16 die we met een klein stukje pyton code gebruiken als shutdownknop om systeem netjes af te sluiten. Het resultaat mag er zijn: een complete arcadecontroller voor twee personen met 4-weg én 8-weg joysticks.

Retropie

Dus is het tijd om RetroPie te installeren, een kant en klare Linux distributie met een grafische Emulstation frontend en emulators voor onder andere MAME en (klassieke) computers en consoles als de Atari 2600, Amiga, Commodore 64, (S)NES, Nintendo 64, Sega Master System, Sega 32X, Sega Saturn Playstation 1 en Playstation 2.

De installatie van RetroPie heeft niet veel om handen. We downloaden de gratis software op retropie.org.uk en volgen de instructies op die site om een image van het besturingssysteem op ons microSD kaartje de installeren. Let wel: gebruik geen standaard (windows) tool om de image op het geheugenkaartje te zetten, want dan zal de Raspberry Pi het niet kunnen lezen. Gebruik in plaats daarvan Win32 Disk Imager, een eveneens gratis tool waarnaar je een link vindt op de site van Retropie. 

Starten we de Raspberry Pi nu op, dan wordt RetroPie keurig geladen, waarna we meteen de melding krijgen dat het systeem twee controllers heeft gevonden en we de vraag krijgen deze te configureren. Voor alle denkbare spelcomputerknoppen kunnen we key bindings maken met de knoppen op onze controller. De procedure spreekt voor zich en vergt per joystick minder dan een minuut, waarna de configuratie wordt opgeslagen.


Dit is het standaard homescreen van RetroPie, zoals het eruitziet voordat je game-ROMs hebt geïnstalleerd.

Hierna komen we op het hoofdscherm van Retropie’s Emulstation frontend terecht, waar we in eerste instantie alleen ‘Configuration’ als optie zien, en we geen games kunnen selecteren. Dat komt omdat RetroPie wordt geleverd zonder games, deze dien je zelf te installeren.

Op dit punt moeten we een disclaimer maken. Hoewel sommige oude games inmiddels vrij van copyright zijn, of door de ontwikkelaars als freeware beschikbaar zijn gesteld, is dat voor heel veel games niet het geval. Het downloaden en kopiëren van oude games is daarmee net zo illegaal als het downloaden en kopiëren van nieuwere software. We gaan hier dus ook niet uitleggen hoe je aan games kunt komen, en gaan ervan uit dat je software hebt die je legaal kunt gebruiken.

Klassieke games worden doorgaans aangeduid al ROMs, een afkorting van het Read Only Memory geheugen waarin de software in de meeste arcademachines werd opgeslagen. ROM is geen bestandsextensie en een ROM bevat vaak meerdere bestanden die samen in één zip-bestand zijn opgeslagen. RetroPie kan standaard overweg met ROMs voor een groot aantal verschillende systemen, waarvan voor elk eigen emulators zijn ingebouwd. Installatie van ROMs kan op meerdere manieren. De eenvoudigste is door de geheugenkaart met RetroPie tijdelijk in een computer te steken en naar de ROMS-map te navigeren. Hier vinden we voor elk systeem dat geëmuleerd kan worden een eigen map. Om games te installeren kopieer je de betreffende zip-bestanden simpelweg naar de betreffende systeemmap. Je moet deze dus niet uitpakken, alleen kopiëren volstaat. Steek je geheugenkaart nu terug in de Raspberry Pi en start deze opnieuw op en voilà: het hoofdmenu laat nu een extra optie zien voor het systeem waarvan je zojuist een of meerdere games hebt geïnstalleerd. Deze kan je direct spelen!


Besproken product

Vergelijk  

Product

Prijs

Raspberry Pi 3 Model B+ 1GB

Raspberry Pi 3 Model B+ 1GB

  • Onboard CPU
  • DDR2

€ 39,95

13 winkels
0
*