3ders.org – Adafruit’s 3D printed PiGRRL Zero puts retro gaming in your pocket | 3D Printer News & 3D Printing News

Adafruit’s Ruiz Brothers have posted a tutorial for the PiGRRL Zero, their latest Gameboy-style, 3D printed emulator. The PiGRRL Zero, which packs 14 buttons and a 2.2′ color display into its tiny landscape casing, is built around the $5 Raspberry Pi Zero.

Quelle: 3ders.org – Adafruit’s 3D printed PiGRRL Zero puts retro gaming in your pocket | 3D Printer News & 3D Printing News

ArcadePi nächster Teil

Vor langer Zeit  hatte ich mal damit angefangen, eine tragbare Spieleconsole mit einem RaspberryPi zu bauen. So eine Art PiGRRL – Raspberry Pi Gameboy. Mein zweiter Versuch war dann schon etwas aufwändiger. Das ganze Gehäuse habe ich selber entworfen und mehrere Versionen auf meinem 3D Drucker ausgedruckt.

Das Display ist ein 4,3 Zoll großer TFT Monitor, den man für Rückfahrtkameras nutzt. Im Gegensatz zu den Displays, die speziell für den RaspberryPi verkauft werden, ist so ein Monitor bei Amazon schon für um die 20 Euro zu haben.

Nachdem dann der ganze ArcadePi zusammengebaut war und funktionierte, schlief das Projekt wieder ein. Einige Dinge haben mit nicht gefallen und bei dem jetzigen Neuanfang habe ich die Chance, diese Dinge zu ändern.

Bei dem neuen ArcadePi wollte ich zuerst eines dieser RaspberryPi Displays nutzen, die man über die GPIO Pins anschließt. Dies Vorteile als auch neben dem Preis einige andere Nachteile:.

Vorteile

  • Digitale Übertagung
    • Die Daten werden nicht Analog, sondern mit digitalen Signalen auf das Display geschoben
    • Dadurch bleibt die Grafik frischer und wirkt nicht so verwaschen.
  • Es ist (gefühlt) stromsparender
    • Einen genauen Beleg habe ich nicht. Es liegt sicherlich daran, dass ich einen 4,3 Zoll Monitor genutzt habe, der offensichtlicher Weise mehr verbraucht als ein 3,5 Zoll Monitor.

Nachteile

  1. Das Display muss erst konfiguriert werden, damit es überhaupt etwas anzeigt.
    • Wenn es dann erst mal läuft, ist das auch nicht weiter schlimm
  2. Das Display ist langsam
    • FPS
    • Video Lag

Am störensten ist das Video Lag. Dieser liegt bei 20 bis 30 ms. Klingt erst mal nicht viel. Aber wenn man dann mal Super Mario Brothers spielt, ist das schon sehr deutlich zu spüren. Durch diesen Lag springt man immer zu spät und stirbt ständig. Ich bin zwar kein guter Mario Spieler, aber zumindest im ersten Level verliere ich kein Leben, wenn ich über einen VGA oder HDMI Monitor spiele. Bei 30 Milli-Sekunden Lag ist das schon frustrierend. Man könnte sich an den Lag anpassen, aber will man das wirklich?

Ich habe hier noch einen weiteren kleinen TFT Monitor im 3,5 Zoll rumliegen (auch ca 20 Euro bei Amazon). Diesen will ich diesmal verwenden. Der 4,3 Zoll Monitor verbraucht mir zu viel Strom und 3,5 Zoll sind ausreichend groß.

Bald soll es weitergehen.

Ein GPIO Display am Raspberry konfigurieren und andere Sachen

Hier in Kurz einmal meinen Weg, wie ich die Software (Retropie) auf dem RaspberryPi mit dem Raspberry Display eingerichtet habe.

Retropie hier runterladen und auf eine SD Karte „brennen“ (z.B. mit Win32 Disk Imager)
http://blog.petrockblock.com/retropie/retropie-downloads/

Eine Manuelle Installation ist auch möglich
http://blog.petrockblock.com/2012/07/22/retropie-setup-an-initialization-script-for-retroarch-on-the-raspberry-pi/

Nach dem ersten Einloggen über SSH dann erst mal

ausführen und das Dateisystem auf die gesamte Speicherkarte ausweiten (Punkt 1). Dies ist besonders dann notwendig, wenn man das Komplettimage runtergeladen und auf die Speicherkarte „gebrannt“ hat. Wenn man schon dabei ist, kann man auch gleich die Internationalisierungsoptionen (Punkt 4) auswählen und z.B. das Tastaturlayout (change keyboard layout) einstellen.

Danach dann gleich ein

Hier wählt man im ersten Schritt “UTF-8” aus. Im zweiten Schritt “Guess optimal character set”; im dritten “Terminus” und im vierten und letzten Schritt “6×12 (framebuffer only).”. Diese Einstellung sorgt dafür, dass wir die Konsole im kleinen Display besser lesen können.

Jetzt updaten wir einmal das System mit folgenden Befehlen

Damit sollte Retropie auf dem neusten Stand sein.

Bisher bleibt das über die GPIO Pins angeschlossene Display noch schwarz. Das wollen wir nun ändern.

Es wird ein kleines Skript runtergeladen und dann ausgeführt. Beim Ausführen bekam ich die Meldung, dass kein „FBTFT“ gefunden wurde und ob ich das System updaten wolle. Dieses habe ich mit Ja beantwortet.

Nun muss man noch ein bisschen in der Bootconfig von RaspberryPi rumfummeln.

Folgende Zeilen sollen in der config.txt am Ende eingefügt werden.

Jetzt muss SPI noch aktiviert werden.

Hier muss die Zeile mit „blacklist spi-bcm2708“ auskommentiert werden (mit # ).

Wenn man nun die Kommandozeile auf dem Display sehen möchte, muss man in cmdline.txt noch etwas anfügen.

Einfach am Ende der langen Zeile noch dies hier anhängen:

Natürlich nicht vergessen, alle Änderungen zu speichern.

Nach einem Reboot ( sudo reboot), sollte die Kommandozeile im Display zu sehen sein. Sobald jedoch EmulationStation (die grafische Oberfläche des Emulators) startet, bleibt das kleine Display schwarz. Hier ist noch ein bisschen Arbeit nötig.

Folgende Befehle nacheinander in der Kommandozeile eingeben:

Nun ist der FrameBufferKopierer installiert. Einfach mal „fbcp&“ in die Konsole eingeben. Schon sollte auch der Emulator nun auf dem Display laufen. Leider muss man bei jedem Neustart fbcp& eingeben, was bei einem Gameboy-Clone ohne Tastatur nur schwer möglich ist.

Es wird einfach ein neues keines Skript angelegt mit

Inhalt des Skriptes ist

Nun machen wir das neue Skript nach dem Speichern noch ausführbar mit

und fügen es der Gruppe und dem Besitzer „root“ zu

Damit unser kleines Skipt bei jedem Neustart ausgeführt wird, geben wir noch dieses in die Konsole ein

Nun sollte der Emulator auch bei jedem Neustart auf dem kleinen Display zu sehen sein.

Es kann sein, dass die Schrift im Emulator schwer zu lesen ist. Ein wenig Abhilfe könnte dies hier schaffen.

In dieser Datei runterscrollen bis zur „gamelist“ Sektion. Dort den Wert von „primaryColor“ auf 000000 ändern. Und dann noch die „fontSize“ von 0.03 auf 0.05 erhöhen.

Wer jetzt noch seine Buttons konfigurieren möchte, muss sich hier ein bisschen einlesen: https://learn.adafruit.com/retro-gaming-with-raspberry-pi/buttons Vermutlich muss das Programm „retrogame“ neu kompliert werden. Das ist aber nicht weiter schlimm und steht im eben genannten Link.

Nun noch die richtigen ROMs auf die Speicherkarte kopieren und schon kann der Spaß losgehen.

Wer nun noch einen kleinen WLAN Stick am Raspberry nutzen möchte, kann dies einfach machen. In „interfaces“ müssen nur die richtigen Daten eingetragen werden.

Bei meiner Bluetooth Tastatur hapert es noch ein wenig. Bisher schaffe ich es nicht, dass die Tastatur nach einem Neustart verwendet werden kann. Bisher habe ich folgendes versucht. http://elinux.org/RPi_Bluetooth_keyboard_setup

Den letzten Befehl muss ich immer erst manuell ausführen, damit die Bluetooth Tastatur verunden wird. Eigentlich sollte der vorletzte Befehl genau dieses erübrigen.

Hier noch unsortiert die Links, die ich bei der Einrichtung studiert habe:

http://www.forum-raspberrypi.de/Thread-gameboy-pi-a
http://www.forum-raspberrypi.de/Thread-bitte-um-hilfe-bei-display?page=3
https://github.com/notro/fbtft/wiki/Framebuffer-use#framebuffer-mirroring
https://learn.adafruit.com/running-opengl-based-games-and-emulators-on-adafruit-pitft-displays/adding-controls
http://seite360.de/2013/10/12/retroppie-schritt-fur-schritt-zur-retrogame-emulationstation-mit-dem-raspberry-pi/
https://github.com/watterott/RPi-Display/blob/master/docu/FAQ.md
http://elinux.org/RPiconfig

Arcade Pi Teil 2

Im ersten Teil habe ich angefangen, die Entwicklung des Gehäuses des Arcade Pis  zu beschreiben.

Der Arcade Pi ist nun fertig aufgebaut und funktioniert auch.

Ist das Projekt nun erfolgreich abgeschlossen?

Ein klares NEIN, da es noch viele kleine und große Sachen gibt, die mich stören. Sobald es dann die Zeit und Motivation zulässt, werde ich die Kinderkrankheiten auch noch beseitigen. Bis dahin beschreibe ich erst einmal, was ich gemacht habe.

Als erstes habe ich mir überlegt, was und wo alles in den Arcade Pi rein muss. Das Gehäuseoberteil sah dann so aus.

Mit am meisten Probleme hat das Steuerkreuz gemacht (hier auf der rechten Seite zu sehen). Es hat immer wieder gehakt. Ein paar Stuerkreuz Varianten habe ich ausgedruckt.

Ganz rechts ist das Modell, was auch aktuell in ähnlicher Form verwendet wird.

Unter dem Steuerkreuz befinden sich 4 kleine Taster (orange), die auf eine kleine Lochrasterplatine aufgelötet sind. Je nachdem in welche Richtung man das Steuerkreuz drückt, werden ein bis zwei der kleinen Taster betätigt. Damit das ganze auch ein bisschen stabilisiert ist, ist in der Mitte noch eine Feder angebracht (nicht im Bild zu sehen), die das Kreuz immer wieder in die Mittelposition zurück drückt.

So sieht das ganze eingebaut aus.

Die blauen Buttons waren da schon wesentlich einfacher. Von der Platinenrückseite aus betrachtet, sieht das aber auch nicht viel anders aus, als beim Steuerkreuz.

 

Dann bin ich noch auf die gloreiche Idee gekommen, dass der Arcade Pi einen eingebauten Lautsprecher braucht.

Das hätte ich mir auch sparen können. Da ich das ganze an den Klinkenausgang des Raspberry Pis angeschlossen habe, ist die Qualität der Soundausgabe nicht besonders gut. Ausserdem ist der Lautsprecher zu hoch, so dass dieser gegen den Akku stößt, wenn man das Gehäuse sauber zusammen schauben will.

Den normalen Kopfhörerausgang gibt es auch noch.

 

Insgesamt war es doch recht viel Verkabelung. Jeder Taster hat seine eigene Leitung. Das macht auf Seite des Stuerkreuzes schon 4 für das Steuerkreuz plus 2 für die gelben Taster plus 1 mal Masse. 7 Kabel also. Für die 4 blaue Knöpfe sind es insgesamt 5 Käbelchen. Innen sieht es entsprechend voll aus.

Der Akku, das rosa Teil, gehört oben in die Ausbuchtung. Aufgeklappt sind nur die Kabel zu kurz, so dass der Akku für’s Foto anders platziert werden musste.

Die SD Karte kann man wechseln.

Auf der abgewandten Seite ist noch einer der beiden USB Port zugänglich und ebenso die LAN Buchse.

 

Was für Teile habe ich in meinem Arcade Pi eingebaut.

 

Was würde ich anders machen?

  • Kleinerer Monitor, verbraucht weniger Strom.
  • eingebauter Lautsprecher nur, wenn ich das Audiosignal aus einer besseren Quelle bekomme. Vielleicht aus dem HDMI?
  • anderer Akku. Ein flacher Akku
    z.B. https://www.olimex.com/Products/Power/BATTERY-LIPO3000mAh/
    Ist auch nicht viel teurer und man kann den besser verstauen. Zudem würde ich nun immer einen Akku mit Lötfane oder JST Stecker kaufen. Das spart den Akkuhalter, der auch noch mal ganz schön dick aufträgt
  • LiPo Ladegerät und auch der Spannungsbooster müssen besser auf die Leistung des gesamten Gerätes abgestimmt sein.
    Zur Zeit sind diese Komponenten bei dem derzeitigen Stromverbrauch etwas unterdimensioniert und erhitzen schnell.

Super wäre es, wenn ich einen bezahlbaren kleinen (3 Zoll bis 3.5 Zoll Diagonale) HDMI Monitor finden würde.

http://hdmipi.com/

Der wäre zu groß und verbraucht zu viel Strom. Und kostet auch um die 100 Eruo.

Arcade PI – ein DIY Raspberry Projekt

Einen GameBoy Klon habe ih letzten Monat schon gebaut. Möglich war dies durch Adafruits Tutorial.

Als ich den GameBoy Klon einem Bekannten zeigte, meinte dieser, dass er die Buttons und das Steuerkreuz lieber links und rechts vom Bildschirm haben wolle. Vielleicht so, wie bei einem Sega Game Gear.

Angefangen habe ich mit dem Bildschirm. Die Displays, die auf den Raspberry PI auf dessen GPIOs aufgesteckt werden, sind relativ teuer. Mein TFT Display für den GameBoy Klon hat um die 40 Euro gekostet. Alternativen mussten her. Ein Display über die GPIOs anzusteuern bedeutet extra Aufwand. Viel einfacher wäre es, wenn man ein Display über HDMI oder dem Vidoeanschluss anschliessen könnte. Kleine HDMI Monitore sind zu teuer. Auserkoren habe ich mir dafür einen 4.3 Zoll 16:9 TFT. Normlerweise werden diese Monitore als Rückfahrkamera für Autos angeboten. Kostenpunkt so zwischen 10 bis 25 Euro. Ich habe mir insgesamt 4 verschiedene dieser Monitore unterschiedlicher Preisklasse bestellt. Zwischen dem 10 Euro und dem 25 Euro Modell konnte ich keine Unterschiede feststellen. Ausser das bei dem 10 Euro Modell keine Anleitung bei lag. Auf die vier kleinen Seiten kann man aber auch verzichten.

Das Display ist nun ausgewählt. Das Gehäuse drum herum kann erstellt werden.

Hier meine ersten Versuche für eine Frontblende

Rechts sollen die Buttons hin und lins das Steuerkreuz. Bei der ertsen Version hat sich die Position als nicht bequem erwiesen.

Bei der zweiten Version war die Position der Elemente schon besser. Nur die Anordnung der Buttons zueinander musste noch angepasst werden.

Das ist nun das aktuelle Gehäuseoberteil.

Jetzt muss ich mal über den Rest nachdenken. Bald geht es weiter!