Inhaltsverzeichnis:

Gameboy Advance als Bluetooth-Gamepad - Gunook
Gameboy Advance als Bluetooth-Gamepad - Gunook

Video: Gameboy Advance als Bluetooth-Gamepad - Gunook

Video: Gameboy Advance als Bluetooth-Gamepad - Gunook
Video: I Made The Game Boy NSO Controller Because Nintendo Won't. 2024, Juli
Anonim
Gameboy Advance als Bluetooth-Gamepad
Gameboy Advance als Bluetooth-Gamepad

Das Gerät ist im Grunde ein ESP32, der über den Link-Port mit dem GBA verbunden ist. Wenn das Gerät angeschlossen ist und keine Kassette in den GBA eingesetzt ist, sendet der ESP32 nach dem Einschalten des GBA eine kleine ROM, die in den GBA geladen wird. Dieses ROM ist ein Programm, das die Kommunikation zwischen dem ESP32 und dem GBA ermöglicht, um sowohl die Bluetooth-Verbindung zu verarbeiten als auch die Benutzereingaben an den ESP32 zu senden, wenn dieser mit einem Bluetooth-Host verbunden ist und als Gamepad fungiert. Leider funktioniert es nur mit traditionellem GBA und ich konnte es nicht mit GBA SP zum Laufen bringen. Ich denke, GBA SP gibt einfach nicht genug Leistung.

Beim Einschalten führt der ESP32 eine Multiboot-Sequenz durch den SPI an den GBA durch und sendet eine ROM, die der ESP32 im Flash-Speicher gespeichert hat. Nach dem Laden aktiviert der ESP32 den UART-Port in den gleichen Pins und das ROM kommuniziert mit dem ESP32 unter Verwendung von UART über den Link-Port. Der ESP32 wird mit den 3,3 V betrieben, die der GBA über den Port liefert

Lieferungen:

ESP32 WROOM & ESP32 Programmierer

GBA-GC Knock-Off-Adapter für GBA-Link-Port-Stecker und Gehäuse

Etwas Isolierband und Draht

Schritt 1: Programmieren Sie den ESP32

Programmieren Sie den ESP32
Programmieren Sie den ESP32

Beginnen Sie mit der Programmierung Ihres ESP32 mit der Firmware, die Sie hier finden:

github.com/Shyri/gba-bt-hid/tree/master/es…

Ich empfehle, einen dieser Programmierer zu verwenden, die sie dort verkaufen, einen wie auf dem Bild.

Dieses Projekt wurde mit ESP-IDF v3.3.2 getestet, das Sie hier finden:

Sie müssen auch btstack installieren. Commit https://github.com/bluekitchen/btstack/commit/a0a… ist die neueste Version, die in diesem Projekt nachweislich funktioniert.

Folgen Sie einfach den Anweisungen zur ESP32-Umgebung hier

Stecken Sie den ESP32 in den Programmierer. Schließen Sie das Programmiergerät an den PC an. Rufen Sie das Codeverzeichnis auf und führen Sie 'make flash' aus.

Schritt 2: Holen Sie sich den Link-Port-Anschluss

Abrufen des Link-Port-Anschlusses
Abrufen des Link-Port-Anschlusses

Ich empfehle, eines dieser GBA-GC-Kabel zu kaufen, die sie verkaufen.

Sie bieten sowohl einen Link-Port-Anschluss als auch ein Gehäuse, in dem Sie das Gerät unterbringen und gut in Ihrem GBA befestigen können.

Zerlegen Sie es und entlöten Sie den Link-Port-Anschluss. Seien Sie hier vorsichtig und beeilen Sie sich nicht, der Stecker besteht hauptsächlich aus Kunststoff und wenn Sie den Lötkolben zu lange legen, beginnt er zu schmelzen und lässt sich später nicht richtig in Ihren GBA einstecken.

Schritt 3: Schneiden Sie eine kleine Platine

Schneiden Sie eine kleine Leiterplatte
Schneiden Sie eine kleine Leiterplatte

Sie haben vielleicht bemerkt, dass die Platine des GBA-GC-Adapters eine spezielle Form hat, damit sich der Stecker nicht vom Gehäuse löst, wenn Sie den Adapter von der Oberseite des GBA ziehen. Um das gleiche zu machen, schneide ich ein Stück Perfboard mit diesen Größen

Schritt 4: Schneiden Sie eine kleine Leiterplatte (2)

Schneiden Sie eine kleine Leiterplatte (2)
Schneiden Sie eine kleine Leiterplatte (2)
Schneiden Sie eine kleine Leiterplatte (2)
Schneiden Sie eine kleine Leiterplatte (2)

Sie haben vielleicht bemerkt, dass die Platine des GBA-GC-Adapters eine spezielle Form hat, damit sich der Stecker nicht vom Gehäuse löst, wenn Sie den Adapter von der Oberseite des GBA ziehen. Um dasselbe zu machen, schneide ich ein Stück Perfboard mit diesen Größen:

Sie können die Löcher als Referenz verwenden, wenn Sie das Lineal zum Messen nicht herausnehmen möchten. Jetzt müssen wir den Link-Port-Anschluss an das Bein kleben, das drei Löcher breit ist. In der obigen Abbildung würden Sie den Stecker im linken Bein platzieren und die Unterseite des Steckers würde nach außen zum Bildschirm zeigen. Denken Sie daran, dass Löcher beide Seiten des Perfboards verbinden und wir die Link-Port-Pins nicht kurzschließen möchten. Was ich tat, war, die Stifte einer Seite des Steckverbinders an die erste Lochreihe zu löten und auf der anderen Seite die anderen drei Stifte an die zweite Lochreihe zu löten, um einen Kontakt mit der ersten Reihe zu vermeiden. Etwas grob, aber es funktioniert.

Schritt 5: Verdrahten Sie den Stecker mit dem ESP32

Verdrahten Sie den Stecker mit dem ESP32
Verdrahten Sie den Stecker mit dem ESP32

Nach diesem Diagramm verdrahten Sie 5 Verbindungen vom Link-Port zu den ESP32-Pins. Denken Sie daran, EN mit 3V3 zu kürzen, sonst funktioniert es nicht.

Schritt 6: Passen Sie das Gehäuse an

Passen Sie den Fall an
Passen Sie den Fall an
Passen Sie den Fall an
Passen Sie den Fall an

Jetzt, da wir es verkabelt haben, können Sie es testen und sehen, ob es funktioniert.

Nach dem Test können wir es in das Gehäuse legen. Damit es passt, müssen wir das Gehäuse an ein paar Stellen schnitzen. Sie können auf den Bildern sehen, wo Sie eine Seite des Gehäuses einschneiden müssen.

Auf der anderen Seite können Sie nur ein paar sehr, sehr leichte Kerben machen, die zu den ESP32-Ecken passen.

Schritt 7: Fertigstellen

Beenden
Beenden

Setzen Sie einen elektrischen Anschluss an die ESP32-Pins, damit Sie nach dem Schließen einen Kurzschluss vermeiden. Platzieren Sie die Teile wie auf dem Bild. Das geschnittene Perfboard mit dem Link Connector auf der einen Seite und dem ESP32 auf der anderen. Bringen Sie die beiden Seiten zusammen und biegen Sie die Kabel so, dass sie innen bleiben.

Setzen Sie die beiden Schrauben ein und Sie können loslegen!

Empfohlen: