Introduction: PiStation - a Raspberry Pi Emulation Console
I'm moving and will no longer have room for all my classic systems like my NES, SNES, Genesis, etc, so the first thing I think is that I can just play the games on emulators on my PC. But still, I love the experience of sitting back on the couch and playing with a controller, so where's the happy medium? The PiStation! Essentially, I am removing all the parts from a PlayStation 1 and replacing them with a Raspberry Pi, although I still want the new system to function almost perfectly like it's own system, with original buttons working and all. I've seen this done with other systems, but not with the PS1, so I thought I'd give it a try. I picked up a used PS1 for cheap at GoodWill and got started.
You don't have to follow my project exactly, but if you do want to, here's what you'll need:
- Raspberry Pi
- 4GB or larger SD card
- Used or Broken PlayStation 1
- Two Playstation 1/2 Controllers
- PS2 to USB Converter Adapter
- Micro USB cable (NOT mini!)
- USB Power Brick
- Short USB extension cable/USB hub
- An ethernet extender + fairly short ethernet cable
- Soldering Gun
Above is a quick demonstration video showing the final product.
Step 1: Setting Up the Pi
Now this guide isn't about the software end, only because there are so many tutorials that explain it better than I could, but I will give a quick explanation, as well as link you to some of my favorite tutorials. I'll do my best to answer any questions about this process as I can, I'm just not posting it here so I don't have to reinvent the wheel.
Just know that you will need to download the newest release of the RetroPie Project SD-card Image, and burn that onto a bootable SD card of 4GB or more. Once you insert the SD card into the Pi, you can follow any of these guides along the setup process. It will take some time, but once you're done you can change the boot screen to my custom PiStation boot up screen if you'd like to stick with the whole PlayStation theme. Download boot screen here.
Some of the most helpful tutorials:
- Life Hacker - How to Build an All-In-One Retro Game Console for $35, the Easy Way
- SuperNintentdoPi - An A to Z Beginners Guide to Installing RetroPie on a Raspberry Pi
- Libre Geek - RetroPie Installation Guide For The Raspberry Pi
I recommend you use paste this code into your RetroArch.cfg file so you can exit your games by holding Select + Start, as well as saving by Select + L2, and loading by Select + R2:
input_enable_hotkey_btn = 8 input_exit_emulator_btn = 9<br> input_enable_hotkey_btn = 8 input_save_state_btn = 4 input_enable_hotkey_btn = 8 input_load_state_btn = 5
Assuming everything is working fine, and you have figured out how to put ROMS onto the Pi, then you can continue.
Step 2: Taking Apart the PlayStation
You're going to need to unscrew all six screws out of the back of your PlayStation and remove the casing. You can unscrew everything on the inside and remove it from the shell, but just make sure you keep the internal power brick off to the right, and the controller/memory card ports on the front - you'll be using these later.
Step 3: The Power Cable
In case you weren't aware, Raspberry Pi's do not have on/off switches, they power on as soon as they receive power. Because of this, we can use the original PS1 power switch as the switch for the Pi. The first thing you're going to want to do is drill holes above and underneath where the original board sits so we can get the USB cable coming in from the back, as well as the micro USB cable coming in from the side. I also popped one of the two metal prongs from the original AC port out, then threaded the powered USB cable through it, it took a little bit of drilling to make the hole big enough. You're going to want to plug the "Power USB" (the black one in my first picture) into a USB power brick that would usually charge your phone (as long as it is 5 volts).
Then take the two micro USB cables and strip each one on the necessary side to make a connection from the USB power brick to the Pi if they were to be connected. Thread them through the holes and solder both cables to each side of the PS1 power switch from underneath the board. Use a voltammeter to test which solder points are connected by the switch. If you solder it right, when the usb is plugged into the wall, the Pi should only receive power when the PS1 switch is pushed in.
When you're all done, neatly tuck all the cables under the board and place the board back into the case. You can screw the AC port back down into the case to hold the board down.
Step 4: Connecting the Controller Ports
After you configure your PS1 controllers to work on your Pi with the USB adapter, you'll want to make it work off of the original controller ports. Don't forget you can unscrew the controller/memory card ports from the casing to make it easier to work with. Now, you'll want to unscrew the three screws on the back of the PS to USB adapter (ones hidden by a sticker). There are 9 solder points for each controller port, and you'll want to solder cables into the back of each port, and then match it to the corresponding solder point on the back of the original ports. I recommend you only solder one controller port at first, then test it with your Pi before doing the second port. Not every pin in a PS1 controller port is necessary for this project, but for the sake of accuracy I soldered them all just in case.
Step 5: Removing the Port Covers
Both the Serial I/O port and the AV port have these gray plastic pieces that stick out from the PS1 board to the outside of the case so you can plug the respective cables in. Both pieces are almost the same aside from their location and connections, so I'll just go over this step once.
First I removed the gray piece from the board. Try not to break the little arts that stick out to screw it down. I also just cut around it and left a little of the board underneath so it would be the right height.
I then used a dremel to cut out all the extra bits. Start by removing all the pins sticking out, its okay if you damage the metal rectangular box as you will likely be removing that after to make room for your new ports. You can really remove everything behind the lip because that won't show in the final product. Be patient with this step because it can take a little while to clear everything out without breaking anything.
The goal of this step is to allow everything to be flush with the original casing without showing any of the inside. In the end, I actually had to cut the hole the HDMI port sticks out of in half and then re-glue it later after the HDMI port had been mounted.
Step 6: Mounting the Pi
You're going to want to mount the Raspberry Pi so that the HDMI port sticks out of the Serial I/O port of the PlayStation case. You will notice that there is a place for the screws that hold the two pieces of the case together that is sticking too far up to put the Pi. You will have to either cut it out with some pliers or use a dremel to shave that down. Just be careful that you do not put a screw back into that hole when you are putting the case back together!!
I had some foam stickers laying around that I cut up and stuck to the inside of the case to help support the Pi. I also cut very small circles, stuck them to the two mounting holes on the Pi, and used a toothpick to create a hole through the foam.
Then, I put through the two screws and just barely screwed the nut on the bottom of each. After I got everything positioned in the case the way I wanted it, I but a small bit of super glue on the nuts to make them stay in place in the case, once those dried a little I put a lot more on to secure the nuts to the case. The only issue with this method is that it takes a few tries to make sure the glue is properly connecting the nut and the case. I even added a piece of wood inside the case to secure the pi up against the wall even more.
I realize that this method is not the most secure. My original plan was to just drill holes through the case from the bottom then use the nuts to hold it down, but I decided it against it because I didn't want the screws protruding fro the PS1. You could easily just drill through the case if you want a secure Pi.
Just remember that however you secure it, the Pi needs to be able to withstand plugging in and unplugging the HDMI cable. This is why I added that extra block behind the Pi to give it support.
Step 7: Adding the USB Extension
Because the only remaining USB port is stuck on the inside of the case, you'll want to extend it out so you have access to USB for keyboards or flash drives when you're working on it in the future.
The smaller the USB extender the better because you hardly need any distance. Just plug it in the Pi, coil the rest of the cord somewhere in the case, and let the female end stick out the A/V port. You may have to bend the metal of the female side just to fit it in that gray plastic piece you took out in step 5 , but it keeps it very snug once it's in. Just screw down the plastic piece once you're done, but be careful with your spacing, depending on the size of the USB extender you may need to sand down the plastic or angle it oddly to fit in with all the cables sticking out of the Pi.
Step 8: The Ethernet Port
Originally I wanted the ethernet port to be where the expansion port was, but sadly the SD card sticks out too far into that area. Perhaps this could be done with one of the newer Raspberry Pi B+ models, but I came up with something I liked better anyway.
You want to use the shortest ethernet cable you can fin to save room, and then connect the ethernet extender on the other end of that, this will allow you to connect whenever you need. My ethernet cable was longer than I wanted, and while I could have just spliced a smaller cable out of it, I managed to bundle it all up in some dead space. Instead of sticking it out of the expansion port in the back, I put it in a position that allows it to easily stick out from the empty CD bay when needed, but can tuck down underneath when it needs to stay hidden.
Step 9: Power LED
I wanted the LED on the front of the PS1 to still light up when it's on, but I had a difficult time rewiring the original LED. I ended up just buying a new one from Radio Shack and taping it down next to the plastic piece that transmits the light from the LED to the outside of the case. I wired it so that whenever the Pi receives power, so does the LED. If you can get the original LED working ti would be ideal, but because it is connected to other things I had a difficult time figuring out how to make it turn on and off with the Pi.
Step 10: Putting It All Back Together
Make sure everything is on the inside, and then snap the two pieces of the case together. Put in all the screws EXCEPT the top center, where the Pi is. Connect your HDMI to the TV, connect two controllers and you're ready to start playing some games!
Thanks for reading my Instructable, this was just a summer project for me, and I got the majority of these parts from GoodWill, so it took a while scouting all the parts out. Because the final product took so long, I understand some of the details may not be the most clear, if you have any questions at all feel free to ask me and I'll do my best to clarify!