I love to collect old video games and consoles. Due to constantly adding to this mass of games I am unable to play, (because I no longer have anywhere to put them) they are currently gathering dust in the loft.
Retrieving a game involves the difficult process of climbing up, rummaging through endless boxes of games and consoles – and the chances are before I reach the game I went in there for, I have stumbled across another one that’s grabbed my attention. This has slowly led me to reduce the number of games I play (which some might say is a good thing). However, I have recently been looking into a way I can play retro games without all the hassle. Enter Raspberry Pi!
Some of the Matchbox projects we have been working on means I have been lucky enough to spend some time playing with the Raspberry Pi, and whilst doing so I could not help but think to myself how awesome this would be if I could use it as a small gaming system. Well, it turns out someone else happened to have that same idea, and appears to have done an awesome job in creating a one stop shop for game emulation: Retro Pie.
RetroPie is a suite of software which integrates with Raspbien, and allows users to run emulators of many old classic console and pc systems. Armed with a brand new shiny Raspberry Pi 3 in hand I started the epic install, and after about an hour I had access to play all the games in the loft. However, instead of crawling through there searching for the right game, all I had to do was plug this tiny computer into my TV via HDMI, source a ROM (game files used on emulators) and I was away re-living all the memories of Contra (or Probotector as it was called in the UK). One thing that did bother me was that I had to play all these awesome games using a keyboard. I have always been more of a console kind of guy, so I started looking into how I could create a control pad which I would be able to pair with RetroPie. As chance would have it, whilst stumbling through Thingverse looking for ideas, I saw that someone had built a handheld console and used RetroPie as the operating system!
This sparked my interest! The idea of a portable console which I could carry anywhere, and play all the games I have in the loft, sounded like a great way to start learning about electronics, and also a good use of my new 3D printer. Whilst scouring the internet I stumbled across a kit which is supplied by Adafruit and at first glance seemed to come with everything I needed. That was until I saw that I would need to cut up my super Nintendo controller (seriously could not bring myself to do that) and that the screen size was too small for what I had in mind. So I started to build a shopping list of things I thought I would need, which included a larger screen and tactile buttons for my own custom controller.
This is what I imagined the final build would look like. I would use a 1300mAh lithium Ion battery which would be chargeable via micro USB (same as my phone charger). I would use a tiny stereo amplifier, and would hook in up to the Raspberry Pi via the stereo ports on the underside of the computer. I would then hook up some switches in the form a controller, and use the main GPIO pins on the Raspberry Pi. Finally, I would mount a 5 inch HDMI screen for the display.
Mounting the power was the first task, and would allow me to untether the Raspberry Pi from a power outlet. Using the Adafruit powerboost 1000 this was a simple task (made more difficult by my lack of soldering skills) and after soldering a basic switch to the powerboost and soldering to the main Raspberry Pi GPIO pins I was able to see the Raspberry Pi running from a battery!
Next step was to add controller which would allow me to navigate the RetroPie menu system, and after reading another article on Adafruit I was able to figure out how this control would work. Firstly, I would need to decide on the type of control I wanted to build – I opted for a basic Super Nintendo style (subject to change) so I had to decide on which GPIO pins would be used for each button. After this I would run a wire from one side of the switch to the Raspberry Pi pin and the other side of the switch to a ground rail. There was one thing I was missing though. RetroPie is used to taking a keyboard as an input method, and how would I be able to change this to use the GPIO pins on the Raspberry Pi?
Well, Adafruit to the rescue again! They have written a script called Retrogame. This script interprets the button switch and maps it to a keyboard input, for example, if I had mapped the “up” control in RetroPie to the keyboard button Q, Retrogame would then allow me to map a GPIO pin and every time it is pressed RetroPie would think the Q button had been pressed.
Once the controller was done, I received a new 64Gb memory card and completed a clean install of RetroPie, this time taking care to make sure I noted the keyboard mappings, so I could update the Retrogame script. This is when the 5 inch screen arrived, so after plugging it into the the HDMI and connecting up the control pad, I was finally able to see and control the awesome new operating system. Next up were the speakers!
I had seen other projects like these where the sound has been sorted by plugging into the headphone socket and splitting the wires to an amp. However, I wanted to keep the Raspberry Pi as plain as possible (I will aim to remove all the components which are not used) so I thought I would rather solder to the pins on the back of the board, which would allow me to remove the headphone jack at a later date. This was fairly simple, and due to the MANY times I had soldered the control pad to the board, my soldering skills had improved! SKILLS LEVEL + 1!
So I could finally start to play all those games I had spent years collecting…
Watch this space
No. Not quite yet, first I had to come up with some kind of case to house all these electrical components. This is the current stage of the project, (My CAD skills are worse than my soldering skills by a mile) I have the 3D printer primed and some shiny grey PLA, but until I can get my head around how modelling software works – I am stuck. The guys in the office have had some truly awesome designs, and now I spend my evenings trying to get them to come out of my 3D printer!
Stay tuned to see if I can finally turn paper designs into real plastic things!