This instructable will show you how i took a dead SNES console and turned it into a raspberry pi powered retro gaming system. It uses original SNES controllers.
Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.
Step 1: What You Need
- SNES case
- Raspberry Pi
- micro sd card with Retropie image installed and roms
- usb power supply
- hdmi extension cable
- usb extension cable
- rj45 keystone jack
- cat 5 cable
- dual SNES to usb controller adapter
- paint (optional, but recommended)
- Nintendo security screwdriver
- snes controllers
Step 2: Gut the SNES Shell
You will need to gut the SNES so it is just an empty case. You will need a special nintendo screwdriver for this. I used a dead SNES that i picked up for a few dollars...don't destroy a working unit. Mine was severely discolored. I attempted to restore the color, but couldn't quite get it.
Step 3: Modify Rear Panel
I used my swiss army knife to cut a few extra holes in the rear panel for various connectors. the HDMI extension cable fits pretty well in the original av port hole. I also mounted a USB extension and the standard USB type B jack which will be used for power.
Step 4: Cut Some Mesh to Fill in the Holes
Since the eject button and cartridge slot aren't going to be used anymore, i replaced them with some steel mesh. this provides some ventilation and just looks nice. I painted this a medium gray color, which closely matched the original eject button color.
Step 5: Paint the Shell
I painted my shell with Duplicolor vinyl and fabric dye. I picked this up at auto zone. i used charcoal gray. This stuff covers so much better than paint because it actually bonds with the plastic and doesn't build up on the surface.
Step 6: Paint the Buttons
I painted the buttons with Purple rustoleum plastic paint. it isn't as nice as the vinyl dye, but it matched the original button color very well.
Step 7: Wire Up the Controller Ports
i used a dual port SNES to usb adapter for the control interface. i simply soldered some wires from each of the 7 pins on the original controller ports to the corresponding points on the USB adapter.
Step 8: Wire Up the Reset Switch, Create the Python Script.
i mounted a standard arcade microswitch behind the original reset button. This switch is wired to the GPIO header on the raspberry pi. this is used to in conjunction with a python script to gracefully shutdown the unit. Instructions below:
Here is how to safely shutdown your RetroPie system via a switch wired to the GPIO pins:
List of items you will need:
raspberry pi running retropie (mine is running v3
two wires with connectors to plug into the pin header,long enough to reach your switch
start by wiring up your switch. (this script uses GPIO17 to trigger the event, if you want to use a different pin, you will have to adjust the script.) connect the two wires from your switch to pin GPIO17 and a ground.
You do not need to add any resistors.
connect to your raspberry pi via ssh.
I used putty in windows. (there are many tutorials on this, basically install putty, enter retropie for the host name and click Open. log in with username pi, password raspberry)you will first need to run the following commands to Install rpi.gpio (this is the part most of the other tutorials leave out)
sudo apt-get updatesudo apt-get -y install python-rpi.gpio
once that is done, we will create the script.
sudo nano /home/pi/shutdown.py
Highlight and copy the text below (stuff between the <><><><>). right-click in your putty window to paste the text.
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)GPIO.setup(17, GPIO.IN, pull_up_down = GPIO.PUD_UP)
if(GPIO.input(17) == False):
os.system("sudo shutdown -h now")
do a Ctrl X, press Y and then press Enter to save it.then we have to tell the script to run by making an entry in crontab
sudo crontab -e
scroll to the bottom and add this line at the end:
@reboot sudo python /home/pi/shutdown.py
do a Ctrl X, press Y and then press Enter to save it.
now, launch your script manually to make sure it runs, enter the following command
sudo python /home/pi/shutdown.py
it should launch the script without any errors...then simply press your switch and it should send the shutdown command to your pi. let it shutdown and then power off the unit. now turn it back on, it should boot up to emulation station like normal, and when you press your switch, it should shut down.If you followed those instructions, you should be set. i'll try to help, but i'm really new to this stuff...so i don't know how much help i will be.
Step 9: Wire Up the Power Jack
i cut the usb type B port out of an old external hard drive enclosure to use for the power jack. I cut the end off of a micro usb cable. connected the black ground wire to the ground pin on the usb jack. the red 5v wire runs through the original snes power switch. this way the original button will turn the unit on.
Step 10: Ethernet Extension
I made a small ethernet extension so i can connect this unit to the network if i have to. i ran out of room on the back panel, so i mounted it in the extension port on the bottom, behind the little removable door. i simply wired up the rj45 keystone jack to a short ethernet cable. it plugs into the raspberry pi and the jack fits very well in the opening.
Step 11: Put Everything Inside the Case
getting everything to fit was pretty challenging. i should have taken more time, but i didn't.
Step 12: Assemble the Case
put everything back together. As you can see, it looks pretty nice. You turn the unit on with the original power switch. when you are ready to turn it off, either press the reset switch, which launches a python script to shut down the OS, or use the menu within retropie to shutdown.
Step 13: Play Games
You should be all ready to play games.