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.
- Raspberry Pi
B+ Edition – I purchased this a few years ago
- 2-pin header and Power/Reset Switch
These were used to add a reset/power switch to the Pi (which can be soldered onto Rev 2 Pi – See Tutorial)
- Micro USB Cable A to Micro B
This was used to connect the USB Hub to the Pi for power
- Plugable USB 2.0 7-Port High Speed Hub
This provides more USB ports for controllers and power to the Pi
- 6-Inch 24AWG Snagless Cat 6 550MHz UTP Ethernet Patch Cord
This extended the ethernet port on the Pi to the back of the SNES case
- Rj45 Coupler
This provided a place to plug in ethernet to the SNES case
- 8inch 28AWG High Speed Male to Female HDMI Port Saver
This took the HDMI port on the Pi to the back of the SNES case
- USB 2.0 A Male to A Female Extension (X3)
These extended the USB ports to various parts of the SNES case for controllers or peripherals
- SanDisk Cruzer CZ36 32GB USB 2.0 Flash Drive
This was used for the primary game storage on the Pi (you could probably use any USB drive for this)
- Super Nintendo (case)
This was purchased (used and nonworking) from ebay to use as the external case for the system
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.
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.
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.
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 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.