Hardware:
– Raspberry Pi 2 mit Retropie (hab ich schon mal was dazu geschrieben glaub ich).
– 10,1″ Display von Sainsmart 1280×800
– 2x SNES-Nachbau-Controller von CLS
– Lautsprecher aus einem defekten tragbaren DVD-Player.
– Stereo-Verstärkerplatine aus Logitech Boxen
– HDMI-Audio-Extraktor
– Mini-Funktastatur (optional)
Gehäuse:
Eigenbau nach Augenmaß aus Sperrholz und Aluminiumprofilen. Die Einschub-Halterung für das Display hab ich mit dem 3D-Drucker gemacht. Das Display hat an den Seiten unterschiedlich starke Ränder (einmal 3 und einmal 6mm), ich wollte es aber mittig sitzen haben und hab deshalb für jede Seite eine eigene „Schiene“ entworfen und gedruckt. Das Aluminiumprofil hatte ich noch im Keller – leider ist es jetzt aufgebraucht und ich muss improvisieren, da ich noch zwei bis drei Stücke brauche. Ich druck jetzt mal zwei kurze Stücke aus und schraub sie zusammen – mal sehn ob das klappt. Die Funktastatur kommt in ein Fach auf der Rückseite und im Innern werden gedruckte Halterungen für den Raspberry und die Displayansteuerung angebracht um das alles sauber zu verstauen. Die USB-Buchsen für die Controller muss ich noch nach außen führen und einen Platz für die Lautsprecher finden.
Update 20150524:
Ich hab gestern Nacht noch ein wenig am Gehäuse geschnitzt. Lautsprecherabdeckungen gedruckt und provisorisch montiert. aktuell sieht das Teil jetzt so aus:
So langsam erkennt man eine Richtung in die es geht.
Update 20150604:
Dieses verf****e China-Display raubt mir jeden erdenklichen Nerv. Aber der Reihe nach.
Ich habe mal die Elektronik eingebaut:
Die schiefe Anordnung rührt daher, dass der Raspberry Pi2 seine Anschlüsse und microSD-Slot auf 3 von 4 Seiten verteilt, das ist wohl der Tribut an die kompakte Bauform. Ausserdem ist das HDMI-Kabel recht starr, was durch die flache Ausführung nochmal verstärkt wird. Den Lüfter hab ich an den GPIO-Ports des Pi angeschlossen. Die Controller sind zum Testen direkt am Pi angeschlossen, da ich erst alles am Laufen haben möchte, bevor ich das Gehäuse schick mache.
Zum Display gibt es folgendes zu sagen: Rotz, China-Dreck, aber fast das einzig verfügbare 10″ Einbaudisplay mit HDMI. Es hat eine Auflösung von 1024×600, was – wie findige Leser schon bemerkt haben – keiner HDMI-Spec entspricht. Das Netz ist voll von Beschwerden und Anfragen, wie man das Display am Raspberry zum laufen bekommt, ohne dass das Bild matschig, abgeschnitten oder mit schwarzen Rändern dargestellt wird. Einige vorgeschlagene Lösungen verlaufen unkommentiert ins Leere, funktionieren nicht oder sind einfach nur falsch. Viele schrieben auch, dass sie das Display zurück geschickt haben, weil sie es nicht auf die Reihe bekommen haben. Ich hab jetzt zusammengerechnet knapp 9 Stunden (gefühlt noch mehr) damit verbracht meine config.txt (das ist sozusagen das BIOS vom Pi2) anzupassen, so dass ich die Linuxkonsole bildschirmfüllend angezeigt bekomme. Nur um dann nach dem Firmware-Update vom Raspberry keinerlei Anzeige zu haben… Ahhhhhhhh – aber das wird noch.
Update 20150726:
Scheiss drauf, neues Display bestellt, 1280×800 ist in den HDMI-Specs und funktioniert auf Anhieb mit HDMI „Mode 2/28“. Von dem alten Display hatte ich die Nase voll – das geht nicht richtig am Raspi. Das neue Display ist wesentlich dünner und hat einen schmaleren Rand um das eigentliche Panel, weshalb ich neue Halterungen drucken muss. Der Druck lief jetzt über Nacht und sollte fertig sein.
Als weiteres Problem hat sich der Audioausgang im 3,5mm Klinkenanschluss des Raspberry herausgestellt. Das Signal ist ziemlich unbrauchbar, weil viel zu schwach für die kleinen Breitbandlautsprecher, die ich aus einem tragbaren DVD-Player ausgebaut habe – selbst für Kopfhörer ist das Signal grottig leise und qualitativ nicht so toll. Also schlechtes Signal verstärken? – Nein. Über HDMI gibt der Raspberry ein sauberes Audiosignal aus. Nach kurzer Recherche fand ich HDMI-Audio-Extraktoren, die das HDMI-Signal durchschleifen und das Audiosignal an eine Kopfhörerbuchse weiterleiten. Wieder eine Komponente die im Gehäuse untergebracht werden muss, aber es soll ja gut werden.
Update 20150729:
Ich habe mal angefangen die Frontplatte zu bearbeiten. USB-Buchsen für die Controller sind verbaut. Aus den Controllern werde ich noch die Kabel auslöten, auf eine sinnvolle Länge kürzen und wieder anlöten. Das Tonsignal aus dem HDMI-Audio-Extractor ist zwar sehr gut aber auch nur Vorverstärker-Pegel. Hab jetzt kurzerhand meine nicht mehr benötigten Logitech-Aktiv-Boxen zerlegt und die kompakte Verstärkerplatine in meinen Arcadomat verfrachtet. Die neuen Halterungen für das Display kamen sauber aus dem 3D-Drucker und passten auf Anhieb. Nächste große Baustelle wird noch die Spannungsversorgung. Da der Raspberry sehr schnell den HDMI-Port initialisiert und der HDMI-Audio-Extractor sich beim Einschalten eine Gedenksekunde genehmigt bekommt das Display manchmal kein Signal. Der Raspberry erkennt praktisch nicht dass ein Display dran hängt und deaktiviert den HDMI-Ausgang. Ich werde mir jetzt eine Spannungsversorgungsplatine bauen, die der Reihe nach mit ca. 1 Sekunde Verzögerung das Display, Audio-Extractor und als letztes den Raspberry einschaltet. Wenn das fertig ist kommt noch die Fleißarbeit wie Gehäuse schön machen usw..
Update 20150802:
Die Sache mit der Spannungsversorgung habe ich jetzt einfach über ein altes ATX-Netzteil gelöst. Das bietet mir alle benötigten Spannungen. Eine Eigenbauplatine mit Festspannungsreglern hatte ich ja eigentlich geplant, allerdings kann der normale 7805 „nur“ ca. 1A ohne richtige Kühlung, was für den Raspberry mit beiden Controllern, WiFi-Stick und Empfänger für die kabellose Minitastatur zu knapp wäre. Das ATX-Netzteil liefert weit mehr als genügend Strom für den RasPi, den Audio Extractor und das Display.
Ein weiterer Punkt waren die Controllerkabel. Die waren mit ~1,5m viel zu lang. Hab die Kabel von der Platine abgelötet, auf ca. 70 cm gekürzt und wieder angelötet. Man steht ja keine 2 Meter von dem kleinen Display weg.
Ein Problem konnte ich bisher nur mit einem kleinem „Workaround“ lösen. Der Raspberry initialisiert das Display beim ersten Einschalten nicht schnell genug, was am HDMI-Audioextractor liegt. Wenn ich den VGA-HDMI-Modus verwende würde es funktionieren, aber da ist das Bild matschig. Die neuen Raspberrys haben zwei neue Lötaugen:
Um einen Hardreset durchzuführen muss man die beiden Kontakte kurzschließen. Ich habe da zwei Pins eingelötet und einen Reset-Taster in der Gehäusefront untergebracht. Zum einschalten muss man also den „Hauptschalter“ einschalten und dann einmal Reset drücken und schon wird das Display korrekt initialisiert. Ich werde aber noch weiter versuchen diesen Bug auszumerzen.
Somit ist technisch jetzt alles fertig \o/ und das Beste ist es funktioniert!
(Video folgt)
Update 20150807:
Heute habe ich das Gehäuse noch etwas modifiziert, so dass es bereit zum Spachteln und Lackieren ist.
Das versprochene Video hab ich auch aufgenommen:
Update 20160229:
FERTIG!!!
Die Lackierung ist nicht wirklich professionell geworden, aber den Bastelcharakter des Projekts trifft sie doch ganz gut. Das Teil funktioniert und macht Spaß.
Update 20160805:
Der Arcadomat hat ein Hardwareupdate bekommen. Hab einen Raspberry Pi 3 rein gebaut. Die alte SD-Karte konnte man übernehmen, also war keine Neuinstallation nötig. Da der Pi 3 aber integriertes WLAN hat, muss man das nur neu konfigurieren und fertig. Die Spiele laufen einen Tick geschmeidiger und die phantomtastensdrücke, die ich hin und wieder im Menü hatte sind verschwunden!
Die Ganze Hardware durfte in ein schöneres Gehäuse umziehen: Arcadomat v2