Gameboy 64

Raspberry Pi 3 im Gameboy Gehäuse

Dieses System emuliert eine Vielzahl von Retro Konsolen bis zu Nintendo 64 bzw. Playstation 1


Notwendiges Material

Für den Aufbau des Gameboy 64 wurde Material im Wert von ca. 200€ verwendet. Einen Großteil davon machen die beiden Custom Platinen aus, die ich ätzen lassen habe. Außer den beiden Platinen werden noch folgende Dinge benötigt:

1 Micro SD Karte 12,00 € Amazon link
1 Display 17,00 € Amazon link
1 3DS Slidepad 8,00 € Ebay link
1 Lautsprecher 3,00 € Ebay link
1 Raspberry Pi 3 35,00 € Amazon link
1 On/Off Schalter 0,00 € Ramschkiste
1 Usb Buchse SMD 0,00 € Ramschkiste
1 2 Mikrotaster 0,00 € Ramschkiste
1 RasPi Kühlkörper 4,00 € Amazon link
1 Mikrolüfter 15,00 € Amazon link
1 Lautstärkepoti 1,00 € Amazon link
1 superflache Powerbank 11,00 € Amazon link
1 Kopfhörer Buchse 1,00 € Amazon link
1 Kabel/Drähte 0,00 € Ramschkiste
1 Gameboy Gehäuse Amazon link
2 Tastensets Ebay link
2 Leitgummisets Amazon link
1 Gameboy Spiel Flohmarkt
4 Tastenführungen Sudomod link


Vorbereiten des Akkus

Als erstes habe ich die Powerbank zerlegt um an den Akku und die Ladeschaltung zu gelangen. Mit einem Schlitzschraubendreher war das Gehäuse relativ einfach aufzuhebeln. Es ist unbedingt darauf zu achten, Kurzschlüsse am Litium Ionen Akku zu vermeiden. Dies kann zum Brand des Akkus führen. Lieber vorsichtig von der Seite arbeiten.

Raspberry neu Raspberry flat
Powerbank komplett Der ausgebaute Akku

Vorbereiten des Gehäuses

Als zweiten Schritt habe ich Platz im Gehäuse geschaffen, um den Akku aus der Powerbank einsetzen zu können. Dazu musste ich links und rechts vom Modulschacht noch ein paar mm abfräsen. Ebenso musste ich einen Durchgang zum Batteriefach herstellen. Ich habe für beides einen Mikrofräser benutzt.

Gehäuse komplett Fräsungen Batteriefach
Gehäuse ganz Innenausfräsungen Durchbruch zum Batteriefach

Gehäuse komplett
Akku im Gehäuse

Raspberry Pi3 vorbereiten

Zuerst habe ich die Kühlkörper auf die entsprechenden Bauteile aufgeklebt.
Damit der Raspberry später ins Gehäuse passt, müssen alle Hohen Bauteile entfernt werden. Ich habe die doppelten USB-Buchsen und die Netzwerkbuchse abgelötet. Ebenso die GPIO Leiste. Eine einzelne, flache USB Buchse habe ich wieder angebracht, um später einen externen Anschluss zur verfügung zu haben.

Raspberry neu Raspberry flat
Raspberry Pi ganz Raspberry Pi flach

Display vorbereiten

Für das Display wurde ein 3,5" Display aus dem Automobilbereich verwendet. Dieses ist eigentlich für eine Rückfahrkamera gedacht. Leider werden sehr viele ähnliche Displays angeboten, die optisch von Außen gleich aussehen. Das Innenleben ist jedoch unterschiedlich. Aber zum Glück lassen sich die meisten dieser Displays mit entsprechenden Modifikationen verwenden.
Da das Display für 12V ausgelegt ist, wir aber nur 5V zur verfügung haben, musste der Spannungsregler von 12 auf 5V entfernt - und die Ein- und Ausgangspins überbrückt werden. Zusätzlich habe ich noch die Spule und die Diode am Eingang entfernt und überbrückt. Den Regler findet man, indem man nach einem 8-Beinigen IC mit der Bezeichnung xl1509 ausschau hält. Ist dieser entfernt und Pin 1 mit 2 gebrückt, läuft das Display mit 5V. Glücklicherweise passte mein Display in das Gameboy Gehäuse, so dass keine weiteren Modifikationen vorgenommen werden mussten.

Display
Display Umbau

Custom PCB 1

Buttons to USB Converter

Um die Tasten und den Analogstick abzufragen und an den Raspberry Pi zu übergeben, habe ich eine kleine Platine entworfen, die sich in den Gameboy Einbauen lässt. Hierbei habe ich mich im wesentlichen an die Schaltung von mictronics.de gehalten. Dort könnt ihr auch die verwendete Firmware herunterladen.
Außer dieser Schaltung habe ich noch einen kleinen Audioverstärker mit auf die Platine gepackt.

Zum Aufbau der Platine werden folgende Bauteile benötigt, die ihr im Elektronik Fachhandel eures Vertrauens erwerben könnt:

1 Stiftleiste 2x3
1 Widerstand 0603 0R
5 Kondensator 0603100n
1 Widerstand 0603 10k
3 Kondensator 060310n
1 Induktivität L3216C 10uH
4 Widerstand 0603 1k
1 Widerstand 0603 1k5
3 Kondensator 0603 1u
2 Kondensator 0603 22p
2 Kondensator 0603 470n
1 Kondensator 0805 100u
2 Widerstand 0603 68R
1 Quarz 12 Mhz
8 BAS70-05
1 ATMEGA8-AI
1 PAM8403

lediglich der PAM8403 ist etwas schwieriger zu finden. Ich habe meinen von einer fertigen Platine heruntergelötet. Solche gibt es zum Beispiel hier.

dummy PCB PCB
Dummy PCB Custom PCB 1 Der Schaltplan

Eagle Dateien herunterladen
Wer diese Platine nachbauen möchte, kann sich hier die Eagle Dateien herunterladen und eine PCB fertigen lassen.


Custom PCB 2

Power off timer

Die zweite Platine sorgt dafür, dass der Raspberry nach dem Ausschalten des Gameboys noch genug Zeit hat, um ordnungsgemäß herunterzufahren. Dies wurde mit einem Monoflop und einem Mosfet als Schalter realisiert.

Die benötigten Bauteile:

1 Widerstand 0603 100R
1 Kondensator 0603 100n
1 Kondensator 0603 100u
3 Widerstand 0603 10k
2 Kondensator 0603 10n
1 Widerstand 0603 180k
1 Widerstand 0603 18k
1 Widerstand 0603 220R
1 Widerstand 0603 33k
2 Widerstand 0603 4k7
1 BAS70-05
2 BC817-16
1 IRLML6401
1 LM555D

Da die Platine nur einseitig ist und komplett ohne Bohrungen auskommt, kann sie sehr kostengünstig bestellt oder sogar selbst geätzt werden.

CustomPCB2 PCB
Custom PCB 2 Der Schaltplan

Eagle Dateien herunterladen
Die Eagle Dateien zu dieser PCB sind ebenfalls im obigen zip enthalten. Es muss also nicht erneut heruntergeladen werden.


Gehäuse bearbeiten Teil 2

Nach dem Fertigstellen der Custom PCB 1 kann das Gameboy Gehäuse weiter bearbeitet werden. Ich habe in der Platine kleine 1mm Bohrungen vorgesehen, die als Führung für den Bohrer zum bohren der Löcher in der Frontplatte dienen. So können die Löcher für die Buttons und das Slidepad einfach vorgebohrt werden und müssen anschließend nur noch Stück für Stück auf 12mm vergrößert werden.
Ebenso habe ich mit dem Fräser die Displayaussparung bis zu den Außenkonturen vergrößert.
Auf der Innenseite musste das Material am Slidepad flächig etwas abgefräst werden, da das Gehäuse etwas zu dick für das Slidepad war. An den Buttonlöchern habe ich noch die Führungen für die zusätzlichen Buttons eingeklebt. Ebenso ein paar Plastikreste, um das Display in Position zu halten.

Gehäuse PCB
Gehäuse neu Display ausgeschnitten

Gehäuse PCB
Buttonlöcher gebohrt Innenseite

Einbau der Komponenten

Nachdem alles soweit vorbereitet war, konnte alles in das Gehäuse eingebaut werden. Einige Stellen mussten natürlich noch nach und nach mit dem Fräser bearbeitet werden und die Ausspatungen für die Buchsen ausgeschnitten werden. bis alles ins Gehäuse passte.
Für die Schultertasten wurden die beiden Mittleren Schraublöcher des Gehäuses weit genug heruntergefräst und anschließend die Tasten eingeklebt.

Gehäuse Gehäuse PCB
Einbau Rückseite Verdrahtungsplan

An der Unterseite des Gehäuses habe ich noch vier kleine Löcher gebohrt und mir eine kleine Platine mit vier LEDs gebastelt. Diese habe ich mit Fädeldraht mit den Akkustand LED Pads der Powerbank Schaltung verbunden - Die Original LEDs habe ich natürlich vorher von der Powerbank entfernt.

Akkustands LEDs
Akkustand LEDs

Um das Gesamtbild noch etwas abzurunden, habe ich mir aus einem alten Gameboyspiel eine Abdeckung für den Akku gebaut und diese in den Schacht eingesetzt. Damit war die Hardware abgeschlossen.

Akkustands LEDs Akkustands LEDs Akkustands LEDs
Akku Abdeckung am Modulschacht komplett eingeschoben

Software

Auf dem Gameboy läuft die Software Retropie. Auf die Installation gehe ich nicht näher ein - man findet im Netz genügend Tutorials.
Zusätzlich habe ich ein Script installiert, welches den Raspberry herunterfährt, wenn man dem Gameboy am Schalter ausschaltet.