The finished system – still need to hook the reset button to the case power button.
I’ve been working on a Raspberry Pi based retro gaming machine for a few months now. It has been a bit of an extended process waiting for all the various pieces to fall into place. I am currently to a spot where it all seems to be working pretty well. I’ve got a few last rough edges to file off (not literally, that process was already done), but they are mostly cosmetic and aren’t totally necessary for it to perform.
Hardware
Software
- RetroPie
I started with the RetroPie SD image for the system. It was easy to get up and running with some small updates for some custom things with my setup.
- I wanted to run and store games on the USB drive. I didn’t want to use the default method of storing my game ROM’s from the SD card, and instead wanted them on a USB drive so that I could load new games more easily. Plus, I had a larger USB drive than I did SD cards. I used the instructions here as a starting point. The main thing that I needed to do was to change the script that automatically pulls ROM’s from the USB drive to SD card. You need to prevent that from happening, and also let RetroPie know the new location to look for ROM’s is on the USB drive.
- The other software adjustment I made was configuring the USB controllers I purchased. This is something that anyone using RetroPie would need to do because of the different types of controllers available. The default configuration worked OK out of the box, but I ran into issues when trying to use a 2nd controller for player two. The forums on the RetroPie site were very helpful in getting the 2nd controller to actually perform as player two and not overtake the first controller.
- Video/Audio HDMI configuration was somewhat problematic, but I think that is going to be specific to the TV you plug the pi into. I was able to make a few edits to the Pi configuration to get it working, but this will likely vary by the TV you’re using – again, the Retro Pi site and Raspberry Pi forums were very helpful in troubleshooting this.
The Build
I started by ordering (almost) all of the pieces and getting the Raspberry Pi configured and working with RetroPie (which is easy as setting up any SD image on the card). I say almost all the pieces because I determined that I was missing some things as I began to put it all together. My initial order included the controllers, USB drive, USB hub (with power) and some of the port extenders. That was enough to get me going on configuration. I installed the RetroPie SD image and just worked on getting RetroPie up and running. The RetroPie interface is really nice and lets you navigate around on a TV using just the controllers. In fact, I didn’t end up connecting a keyboard to the Pi at all. I set up SSH (which I’d recommend doing first thing in the initial Pi setup) and was able to connect directly to it to take care of any script edits for configuration or updates that needed to be done. I also used SSH sFTP to move some ROM’s onto the USB drive. You can see some of my software issues above. I was able to get things configured correctly and have RetroPie running my collection of ROM’s sans case. I chose to load up ROM’s for a number of systems (but didn’t configure everthing supported by RetroPie). I’ve got it running NES, SNES, Genisis, SegaCD, Atari and Mame.
Once RetroPie was operational, I focused on the case and how the system would look cosmetically. I ordered a nonworking Super Nintendo off of ebay. Step one was tearing the old electronic guts out of the system. To do that I needed to get the SNES open, which turned out to be more challenging than I had planned. Nintendo used a very obscure and difficult-to-remove screw for the SNES. I found a screwdriver for this screw at Amazon, but it didn’t work (I sent it back). The next thing I tried was a trick I saw online involving Bic Crystal Plastic pens. If you hold one of them under a flame to soften up the plastic and then jam it down on the screws, they take the shape of the screw and when the plastic cools and hardens, you can turn it to remove them. It took me about 6 pens total, but I finally was able to get the SNES open. Once open, getting the the electronics out was pretty simple.
-
-
SNES Case
-
-
Bic Pen Screw Removal
-
-
SNES Guts Removed
-
-
SNES Guts Removed
Another issue I ran into with the case was that it showed up very yellowed (as you can see in the photos above), which is a common issue with the plastics used in the original SNES. After some Google-fu, I found something called Retr0Brite that has been developed by the internets to get yellowed plastics to look like their original beige/grey colors. There were a number of tutorials and youtube videos on the subject. Warning: Retr0Brite involves a few somewhat-dangerous chemicals, so take precautions when using Retr0Brite. I found most of the chemicals I needed online and mixed everything up to get rid of the yellowing plastic. Retr0Brite makes a thicker paste that you paint onto the plastic and set it in the sun to activate it. It took about 3 different applications to get the SNES close to it’s original color.
-
-
Mixing Retr0brite (note the gloves and eye protection)
-
-
The first coat of Retr0Brite
Once the Retr0Brite did its job, I started the long back and forth of getting all of the pieces to fit into the SNES case. The first step was removing all of the plastic pieces inside the old SNES with a dremel rotary tool. I basically cut and sanded down everything I could from inside the case. The old eject button needed to be cut and sanded down too since it extended too far down into the base of the case to fit the Pi and components. I ended up gluing this to the top of the case once it was cut down. I needed to rearrange the components a lot during this process and return to sanding more out with the dremel multiple times. The trickiest spot in the case was the back panel where I wanted to pull a USB port, the HDMI port, an ethernet port, and power to one spot that would be easily accessible on the back. The extenders mentioned in the hardware section above allowed me to do this, though I had to give up on the ethernet port on the back because of space issues. It was just too much to route to a tiny spot on the back. I eventually got everything to fit after some creative routing of the extender cables and after removing the plastic enclosure on the USB/power hub.
Once everything fit (very very snugly) into the SNES case, I needed to secure the ports into the case. To do this, I used a plastic repair adhesive that I found locally at the hardware store. This comes in a striped pliable cylinder of clay-like material. You squish the two color stripes together to activate it and then place it where you want. The mixing of the colors together activates it and it becomes a hard plastic once it sets up. I wrapped the female USB ports/extenders in the plastic adhesive and it provided a good solid attachment point for them on the front of the case. I also used this to attached the ports (HDMI and power) to the back.
-
-
The (close to) final arrangement of components in the SNES case
-
-
Front USB ports
The software was installed, the pieces all (finally) fit into the case. The ports were routed where they needed to be. It was time to plug this bad-boy in and start playing some old school video games. I fired up the unit using my newly installed power/reset button (the plan is to eventually wire this to the SNES power switch) and it launched into the game menu, and I was off to the (arcade) races. My brothers and I really enjoyed taking some video game trips down memory lane when they were visiting for Thanksgiving. Everything worked pretty well outside of a bad ROM here and there, which can easily be removed. I’m really happy with how this little retro gamer turned out.
-
-
RetroPie Loading
-
-
Main RetroPie Menu (NES)
-
-
The finished system – still need to hook the reset button to case.
-
-
Mame Games