RetroPie Arcade V4.0

Bei all den RetroPie- und Raspberry-Pi-Replikaten, die bereits gebaut wurden, wollte ich es auch selbst einmal mit einem Eigenbau versuchen. Ich entschied mich für den Raspberry Pi 3 – aber ich wollte, dass meiner ein wenig anders ist. Da mir die Ports am Pi zum Anschließen von Strom/Video/USB nie wirklich wichtig waren, habe ich mich für durchschleifende Ports entschieden. Auf einen Bildschirm habe ich ebenfalls verzichtet, da mein Design mit einem TV/Monitor verbunden werden soll und ich in meinem Haus ohnehin kaum Platz habe. Es gibt einen internen Erreger für Sound mit einem Schalter, um zwischen HDMI- und interner Ton-/Kopfhörerausgabe umzuschalten. Ein Potenziometer zur Regelung des Erregers ist ebenfalls vorhanden. Da online genügend Projekte zu finden sind, in denen Setups von Tasten und Betriebssystemen beschrieben werden, soll es hier nur darum gehen, was ich sonst noch anders gemacht habe.

Zur Regelung des Stromkreises wird das Mikrocontrollerboard Teensy LC von SparkFun verwendet. Wenn die Einschalttaste gedrückt wird, aktiviert das diese Taste überwachende Teensy LC ein Relais, über das der Raspberry Pi eingeschaltet wird. Der Raspberry Pi sendet daraufhin ein High-Signal an den Mikrocontroller, um ihm mitzuteilen, dass er eingeschaltet ist, woraufhin das Teensy-Board die Taste und die LEDs einschaltet. Wenn die Einschalttaste zum Ausschalten des Pi erneut gedrückt wird, sendet das Teensy-Board ein Signal an den Pi, der daraufhin das Herunterfahren einleitet. Sobald das Betriebssystem komplett heruntergefahren wurde, deaktiviert das Teensy das Relais. Der Pi wird dadurch komplett abgeschaltet und die Lichter leuchten nicht mehr. Das Teensy-Board wird mit Strom versorgt, solange das System eingesteckt ist. Da die Leistungsaufnahme jedoch vernachlässigbar ist, mache ich mir darüber keine Gedanken. Über eine kleine rote LED an der Abdeckung der Box wird angezeigt, dass sie eingesteckt ist.

Auf der Rückseite der Box befinden sich der Potenziometerschalter für den Sound, eine Buchse für externe Lautsprecher/Kopfhörer, ein Koaxialanschluss zur Stromversorgung, ein Einschub für microSD-Karten, ein HDMI-Anschluss und zwei USB-Anschlüsse. Bei einem USB-Anschluss handelt es sich um einen durchschleifenden Port zum USB-Anschluss des Raspberry Pi, damit ich ein Flash-Laufwerk, zusätzliche Controller usw. anschließen kann. Der zweite USB-Anschluss ist mit dem Teensy-Board verbunden, damit ich sie umprogrammieren kann, falls ich die Beleuchtung ändern möchte, ohne dafür die Box öffnen zu müssen. Zwei seitliche Lüftungsschlitze sorgen für einen Luftstrom und sehen außerdem ziemlich cool aus, wenn die Lichter eingeschaltet sind. Der Einschub für microSD-Karten ist über ein Verlängerungskabel mit dem Pi verbunden.

Die Aufkleber über den Ports wurden mit einer Cricut-Handwerksmaschine angefertigt. Frühere Versionen der Box hatten Spiele-Artwork auf der Abdeckung und den Seiten, aber für die finale Version habe ich den rein schwarzen Look mit den leuchtenden Tasten gewählt.

Bei den Tasten handelt es sich um klare Arcade-Tasten von Adafruit. Da mir die Tasten etwas schwammig vorkamen, habe ich jede mit einer zusätzlichen Feder versehen, sodass sie ein gutes Druckgefühl bieten. Und da ich klare Tasten nutze, habe ich um jede Taste herum einen NeoPixel-Streifen mit 6 LEDs angebracht, um Lichteffekte hinzuzufügen. Da es sich um RGB-LEDs handelt, von denen jede einzeln adressierbar ist, kann ich an jeder einzelnen Taste eine Vielzahl von Lichteffekten erzeugen, inklusive mehrerer Farben an einer. Momentan leuchten die Tasten gemäß dem System, das emuliert wird – nur zwei Tasten für NES, alle sechs für SNES (farblich dem Original-Controller entsprechend), eine für Daphne usw. Hierfür habe ich ein kleines Python-Script geschrieben, um das aktive System zu lesen und diese Info an das Teensy-Board weiterzuleiten, und zwar über eine eigene 3-Kanal-1-Bit-Schnittstelle (der ich den Namen „DragonSpeech“ gegeben habe, weil ... nun ja, warum nicht?). Der Joystick leuchtet dank einem Mini-NeoPixel im Inneren eines hohlen Schafts mit Kugel von www.paradisearcadeshop.com. Diverse weitere Lichteffekte treten auf, wenn das System hochgefahren, aber kein Spiel gespielt wird.

Die Tasten sind großartig für Arcade-Spiele, aber ich habe auch einen Controller für die PlayStation 3, der über Bluetooth verbunden wird, sowie ein USB-Gamepad, um Konsolenspiele zu spielen. Dank einem kleinen Dongle, der in die Pi eingesteckt ist, kann ich eine drahtlose Tastatur und Maus verwenden. Auf diese Weise kann ich DOS-Spiele spielen und mit dem Terminal arbeiten, ohne die Box öffnen zu müssen oder den einzigen externen USB-Anschluss zu belegen. Der USB-Anschluss ist praktisch, um ein Flash-Laufwerk anzuschließen und Dateien zu übertragen oder um einen externen USB-Controller anzuschließen.

Ich habe ein Flachbandkabel und rechteckige Steckverbinder verwendet, um die Verbindung zu allen Komponenten auf der Abdeckung herzustellen, damit sie leicht entfernt werden kann. Wenn die Abdeckung abgenommen wird, können Änderungen sehr viel einfacher vorgenommen werden. Der Arcade-Stick und alle externen Tasten wurden direkt über die GPIOs der Pi eingerichtet, wofür das ausgezeichnete Tutorial zum Pocket PiGRRL von Adafruit verwendet wurde. Außerdem führen zusätzliche Drähte von jeder Taste zum Teensy-Board, das selbige als Interrupts überwacht und jede Taste beim Drücken weiß leuchten lässt.

So sieht die Box ohne Abdeckung aus. Die Verdrahtung ist ziemlich chaotisch, aber der Platz ist knapp und vielleicht finde ich einmal die Zeit, alles übersichtlicher zu gestalten. ☺

Viele Dinge in diesem Design sind natürlich übertrieben und es gibt viel billigere RetroPie-Spielautomaten, die gebaut werden können, aber es war auch eine Lernerfahrung. Es hat mir viel Spaß gemacht, Komponenten hinzuzufügen und herauszufinden, wie ich das alles zum funktionieren bringe.

Über den Autor

Image of Jerry Sturre

Jerry Sturre, Supervisor - Applications Engineering bei DigiKey, engagiert sich mit seinem Team bei der Unterstützung von Kunden, die nach einem besseren Weg für die Nutzung neuer Technologien und Bauteile zur Vervollkommnung ihrer Projekte suchen. Er kam 2001 zu DigiKey und wechselte 2014 in die Abteilung Applications Engineering. Jerry erwarb seinen Abschluss als Associate in Applied Science auf dem Fachgebiet der Elektronik am Northland Community and Technical College. Als begeisterter Bastler und Gamer verbringt er einen großen Teil seiner Freizeit entweder mit einem Lötkolben oder einem Spielecontroller in seinen Händen.

More posts by Jerry Sturre
 TechForum

Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.

Visit TechForum