Zur Startseite

Gameboy - "Steam Game"
mit Raspberry Pi 3 B+ und "Retropie"

Link zum Software-Setup

Eine Bemerkung vorab: Der Druck des Gehäuses ist nur sub-optimal gelungen, das weiß ich! Das von mir verwendete PLA-"silber" fließt einfach nicht gleichmäßig aus der Düse. Ich denke, das liegt an den Füllstoffen für den Silbereffekt. Mit anderem Material kann ich das besser, wie "Nano" und "PiGRRL" gezeigt haben.
Da dieses Gerät aber sowieso als "Steam-Punk" Thema entstehen sollte, stört mich dieser "abgewetzte" Eindruck überhaupt nicht, eher im Gegenteil.

Das Grunddesign kommt diesmal von dieser Tingiverse-Seite, von der ich alle Dateien (STL & Software) heruntergeladen habe. Designer ist der User "Maxgayet", dem ich ausdrücklich für seinen wirklich sehr guten Entwurf danke!

Die Wahl fiel auf diesen Entwurf, wegen der recht imposanten Größe, des großen und billigen Displays und der Menge an eingebauten Bedienelementen. Neben den hier unten vom Designer benannten, gibt es auf der Rückseite noch die beiden üblichen "Shoulder Buttons" (links & rechts).


(picture copyright "Maxgayet")

Das Gerät arbeitet als echtes Handheld über das eingebaute Display (Composit-Video 320x240 Auflösung) und internes Audio. Zusätzlich gibt es den externen HDMI Modus. Dazu muß nur beim Einschalten des Geräts ein HDMI-fähiges Wiedergebegerät an der Frontbuchse erkannt werden.

Das ursprüngliche Design wurde von mir mechanisch aber auch elektrisch leicht verändert. Dazu gibt es Hinweise an entsprechender Stelle weiter unten im Text.

Eigentlich gibt es vom Designer vier Gehäuseteile, 2x Front und 2x Rückwand. Der Grund war die beschränkte Größe seines 3D-Druckers. Ich habe für mich mit CAD-Software vor dem Druck jeweils die zwei Front- und Rückteile zu je einem Teil vereinigt.

Das Gehäuse ist im "Steam Punk" Look etwas "aufgehübscht" worden. Das ist ganz sicher nicht jedermanns Geschmack. Für mich passt das aber gut zum Thema Retro-Gaming.

Der Prozessor in diesem Retropie-Handheld ist ein Raspberry Pi 3 B. Die gültige Beschaltung der GPIO-Pins zeigt der Designer im folgenden Bild:

Ich habe mich an diese Belegung gehalten und nur die Masseverbindungen deutlich reduziert, indem ich die Masseleitung zu den Tastern durchgeschleift habe.

Im Gegensatz zum Designer lege ich Wert auf internen Sound. Offensichtlich hatte er Probleme mit Störgeräuschen und hat deshalb darauf verzichtet. Bei richtiger Abschirmung und Erdung ist das aber überhaupt kein Problem.

Der Audioausgang zum NF-Verstärker und der Composit-Videoausgang für das interne Display wurden direkt auf der Unterseite der Raspberry-Platine angelötet. Dafür bieten sich die vorhandenen Prüfpunkte (nummeriert als PPxx) an.

An PP24 liegt das Composit-Videosignal an (gelber Draht). Von PP25 und PP26 werden über je 1kOhm Audio links und rechts abgenommen und danach zusammen gefasst (weißer Draht). PP6 ist die gemeinsame Masse für beide Signalleitungen. Wichtig ist hier die Nutzung abgeschirmter Leitung!

Die Stromversorgung besteht aus einem 3,7V / 2000mAh LiPo Akku der über ein "Powerboost 1000" Modul geladen und auf 5V geboostet wird.

Auf dem Powerboost gibt es vier SMD-LED für die Anzeige von Unterspannung (gelb), Ladezustand (gelb/grün) und Powerausgang (blau). Die LED wären eigentlich von aussen nicht zu sehen, wenn nicht kurze Stückchen von transparentem 2,85mm Filament bündig in das Gehäuseunterteil geklebt wären. Die Enden liegen genau über den jeweiligen LED, so dass das Leuchten von aussen deutlich sichbar wird (Foto oben).

Als Display wird von Amazon dieses 20,- € billige 3,5" Kameradisplay für Auto-Rückfahrkameras genutzt:

Das Display erlaubt eine Betriebsspannung von 9 bis 36 V, die intern auf 5 V reduziert wird. Der Raspberry läuft aber sowieso schon auf 5 V. Das Display muß also auch auf 5V umgerüstet werden. Der Display-Controller ist als "MT_603A_35D54P_DX_V1.1" markiert. Leider habe ich kein Datenblatt für diesen Controller finden können. Als Spannungsregler ist im Controller ein RZC2013 verbaut. Das Datenblatt dafür ist zum Glück verfügbar und zeigt diese typische Schaltung:

Der erste Versuch, die 5 V von aussen einfach am Ausgang des Regelkreises (Plus von C7) einzuspeisen, war keine gute Idee! Fur kurze Zeit (ca. 2 Sek) pendelte die Stromaufname zwischen 0 und mehr als 2A hin und her, bis sie sich bei Werten um 400 mA einstellte. Offensichtlich ist der Regelkreis verwirrt, wenn der Eingang (Pin2) offen ist und am Ausgang (Pin3) 5 V liegen.

Also musste der Regler komplett raus! Ich habe leider kein Entlötgerät, also hab ich den RZC2013 brutal mit dem Dremel von der Platine gefräst und danach die rote 5 V Speiseleitung an den Plusanschluß von C7 gelötet. Damit ist das Problem gelöst.

Die Markierungen zeigen den später entfernten RZC2013 Chip und den Lötpunkt an der Plusseite des 220uF Elkos (C7), wo nun die 5V vom Powerboost 1000 eingespeist werden. Es gibt auf dem Controller zwei Videoeingänge (gelb & weiß), von denen hier nur gelb (Video1) benutzt wird.

Die im Car-Display enthaltenen drei Taster für die Displayeinstellungen werden mit gekürzter Leitung weiter verwendet.

    

Das Hauptbedienteil der Konsole ist solch ein analoger Joystick:

   

Als ADC für den Stick wird vom Designer ein "Capcade V1 Adapter" von Adafruit verwendet. Den konnte ich leider in Europa nicht bekommen, also habe ich als Ersatz die folgende einfache Schaltung mit sechs Transistoren (2x NPN, 4x PNP) entwickelt:

Die Festanschlüsse der eingebauten Potis liegen an +3,3V und Masse. Die Spannung am Schleifer (X bzw. Y) bewegt sich also zwischen diesen Werten.

Eine Schaltungssimulation in der Android-App "Electric Circuit Studio" zeigt, dass der gesamte Regelweg des Joysticks am Anschluß X durch diese Schaltung nun logisch wie folgt geteilt ist

0%-20% = Ausgang LEFT = Masse (low), Ausgang RIGHT = 3,3V (high)
20%-80% = Ausgang LEFT = 3,3V (high), Ausgang RIGHT = 3,3V (high)
80%-100% = Ausgang LEFT = 3,3V (high), Ausgang RIGHT = Masse (low)

Diese Werte gelten ebenso für den UP-Down Kanal am Anschluß Y

Wichtig ist hier die Betriebsspannung von 3,3V. Mehr vertragen die GPIOs des Raspberry nicht! Die 3,3V liefert der Raspberry selbst am Pin 1.
Die Ausgänge des ADW (Left, Right, Up, Down) gehen zu den GPIO 17, 22, 23 und 27. Der Ausgang vom Taster SW geht direkt zum GPIO 20.

  

Der ADC ist auf einer kleinen Lochrasterplatte aufgebaut und direkt seitlich auf den Joystick aufgesteckt.

   

Das linke Bild hier oben zeigt, dass die Stützen im Gehäuseoberteil nicht für diese Ausführung des Joysticks designed sind. Ich habe daher einen zusätzlichen Rahmen gedruckt und mit Epox angeklebt, um die Auflagefläche zu vergrößern.

Für sämtliche Drucktaster verwendet der Autor im Original ein zerlegtes USB-Gamepad. Ich setze dafür wie schon beim "Nano" und "PiGRRL" Mikrotaster auf Lochrasterplatte ein. Diesmal habe ich die größeren Taster gewählt, weil Platz genügend vorhanden ist.

  

Das rechte Bild hier oben zeigt die gedruckten Knöpfe für das A, B, X, Y Pad. Sie haben farblich passende Einsätze bekommen, die ebenfalls gedruckt sind.

Der Designer hat in seinem Gerät wegen für ihn unlösbarer Störungsprobleme auf internen Sound verzichtet. Das geht für mich gar nicht! Eine Spielkonsole braucht einfach auch Sound. Wo bleibt denn sonst der Spaß?

Hier ist ein LM386 in dieser Standardschaltung eingebaut. Lediglich den 250uF Elko habe ich aus Platzgründen auf 100uF verringert. Der BYPASS an Pin7 ist unnötig.

Das Audio- und Videosignal werden über getrennte geschirmte Leitungen zum NF-Verstärker und zum Display geleitet. Es gibt damit keinerlei hörbare Störungen. Der Aufbau erfolgt wieder auf Lochraster.


Der Verstärker ist mit doppelseitigem Klebeband von unten in das Deckelteil geklebt. Der Drehknopf besteht aus zwei gedruckten Teilen, die mit Epox auf die Achse geklebt sind.

Eine Besonderheit dieser speziellen Gamekonsole ist der zusätzliche "Joystick" an der rechten Seitenwand.

Er simuliert den analogen Joystick (gelbe Knöpfe) des Nintendo 64 Controllers. Diesen 5-Wege Microschalter zu beschaffen hat unglaubliche 3 Monate gedauert.

   

      

Der Typ nennt sich ALPS SKQUCA. Er vereint fünf Kommandos: Up, Down, Left, Right & Save. Es gibt ihn in verschiedenen Bauformen. Für diese Anwendung wird die "Snap-in" Variante verwendet. Die Drähte werden direkt an die Lötstifte gelötet und der Schalter mit Epox direkt auf den quadratischen Sockel (siehe Bilder unten) geklebt.

    

Hier unten ein Bild nach kompletter Installation. Wer es noch größer möchte, kann auf das Bild klicken.

Für die Installation und Einrichtung der Software habe ich eine kleine PDF-Datei erstellt, die durch Klicken auf diesen Link aufgerufen werden kann.

Hier abschließend die Gesamtansicht des fertigen Geräts. Auf der Front kam noch eine Beschriftung für "start" & "select" dazu. Die Knöpfe werden sonst ständig verwechselt. An der rechten Schmalseite sieht man oben die drei Menü-Knöpfe für die Display-Einstellungen. Dahinter, direkt an der Kante zur Rückwand, sitzt der Ein/Aus-Schalter. Der Durchbruch im Gehäuse stellte sich als sehr groß für den winzigen Knebel heraus. Daher bekam er nachträglich eine Abdeckung. Der große runde Knopf darunter ist die Betätigung des zusätzlichen Joysticks, der nur für N64-Spiele Wirkung zeigt.

Auf der Rückwand sind mittig die beiden Shoulder-Buttons zu sehen. Weil sie ca. 1,5 mm hervorstehen, lag das Gerät nicht flach auf dem Tisch, sondern kippelte auf den Knöpfen. Um das abzustellen, habe ich kleine Eck-Füsschen gedruckt und mit Epox nachträglich angeklebt.
Im Originaldesign waren 12 M3-Schrauben zur Montage vorgesehen. Weil ich die im Original einzelnen Vorder- und Rückteile jeweils als Einheit gedruckt habe, konnte ich einige einsparen. Daher sind drei überflüssige Schraubenlöcher (Mitte wagerecht) durch kleine Stöpsel verschlossen worden.

 

nach oben