Introduction: Retro Machine - Raspberry Pi in NES Case
For the longest time I was against emulation. "Gotta have the physical game and console. You're not a true retro gamer unless you have those. Save states are dumb, grumble grumble."
I've changed my attitude.
Emulation is great. You don't have to shell out hundred of bucks for a rare game..and who is that money going to anyway? Not Nintendo. You save space by not having to store tons of games. Organization is easy. Don't have to dust off your collection.
All that aside, I'm not condoning illegal activity of downloading ROMs, but if you do, I'll show you how to take a broken NES and a Raspberry Pi to make a cool all in one retro gaming machine.
Lets get started with a parts and tools list:
Parts (Price varies based on country of origin and manufacturer):
Raspberry Pi 3 Kit $87.95
Broken NES $25.00
Mini Wireless Keyboard $14.09
30x 5mm Green LED $2.99
100x 300ohm resistors $2.50
USB Hub $9.49
1ft USB Extension Cable $2.50
1ft USB Extension Cable $2.50
1ft Ethernet Extension Cable $2.00
Micro USB Extension Cable $5.60
HDMI Extension Cable $10.00
Buffalo Classic USB Gamepad for PC $15
Buffalo Classic USB Gamepad for PC $15
Mausberry Circuit On/Off Circuit $19.99
Raspberry Pi Breadboard $3.44
Jumper Wires for GPIO $4.21
6 packs of black Sugru $24
5" x 7" Picture Frame with Glass ~$4
Floppy Disks or other Scrap Plastic $?
Dremel (cheap is fine)
Hot Glue Gun
Philips Head Screw Driver
Pink Gloss Spray Paint
Light Green Gloss Spray Paint
To save time I will be using the following acronyms:
NES = Nintendo Entertainment System (duh)
RP = Raspberry Pi
USB = Universal Serial Bus
LED = Light Emitting Diode
In a nut shell this is what I wanted:
- A retro gaming machine that can play mostly NES but also SNES, Genesis, Neo-Geo and Turbo-Graphx 16.
- Looks cool housed in a painted NES case with RP logo on the top of the case which is also a viewing window
- Underneath the window (inside the case) will be a breadboard with LEDs shining through.
- Preserve the function of the NES while still maintaining an artistic look. I wanted the power button to work (thanks for Mausberry Circuit) and the controllers to plug in where the NES controllers would have.
What I didn't want:
- Spend a bunch of money
- Use a 3d printed case. Not that I had anything against them, I just rather modify my own from an NES case.
Step 1: The Stars of the Show (and Most Expensive)
First step, find a broken NES. MAKE SURE ITS BROKEN! Killing an ancient, working, gaming relic is blasphemous. If you get a blinking light, it might not be broken. In that case you can still sell the motherboard but keep the power button PCB and wires.
Surprisingly they are still expensive on Ebay. Expect to pay around $30 without cords, games and maybe missing some screws. A working NES is usually $35. $5 difference for working vs non? I don't get it.
Second step. buy a Raspberry Pi. I bought a RP3 model B and paid a fair amount (~$90) because it was a kit loaded with Retropie, Kodi, Emulation Station and a 32g Micro SD. I'm sure you could find one cheaper and load everything yourself, I just saved some time by getting a pre-loaded one.
The NES and RP were delivered around the same time so I tinkered with both. I transferred ROMs, which is pretty easy to do. Used scraper which is the program for getting game information populated along with a picture, release date, rating, etc. It just makes the menu look nicer. Setting up games and getting them to work was pretty easy.
With the NES I wanted to have a viewing window cut into the top of the case. I'll get to that in the next step.
Picture Reference: Raspberry Pi 3 Model B https://www.losant.com/blog/getting-started-with-raspberry-pi-3
Step 2: The Case
Clean all the old dirt off. Baking soda, water and a rag works well. Sand off anything that won't come off otherwise.
The design I chose was the Raspberry Pi logo. Steps for logo window and painting. I went with obnoxious colors but you can go with whatever you like.
1) Open NES take out everything inside along with door, buttons, expansion cover, black door end cover, controller housing.
2) I printed a big enough picture of the logo
3) Traced onto carbon paper over the case, as you see in the first picture (a section is cut out)
4) Dremeled out the design
5) Prep for painting. Use tape to cover up holes and vents. Fill in screw holes with shreds of paper.
6) Next step is to take the photo frame glass, which was the perfect size, and glue it do the underside.
Step 3: The Window and USB Hub
For the window I used 5" x 7" picture frame glass hot glued on the inside cover over the cut out. The inside won't be seen hence the sloppy glue job. Also from the frame I used the black cardboard as a facade for the USB hub. It's all hot glue and sugru'd together.
Step 4: Cuts for Cords
For some reason I thought I would have more cords to hook up. Basically all I have is the micro SD port (power) and HDMI port. I could use the built in wifi of the RP for internet but hardwiring using the ethernet port would be optimal as the final home for it will be near the modem. I ordered two AC adapter extension cords for the USB hub, both didn't work . Well they might have worked but they didn't fit.
I'm sure I'll get some heat for this, but I'm powering the USB hub through the RP. I read about this being a potential power drain causing all sorts of problems but I won't be using any more ports than what the RP already has, so no issue. They'll just be situated in an easier to access area (where the cartridges would go). This is good for transferring ROMs with a flash drive. Or you could set up a shared work station with your windows PC. This is great for transferring ROMs and pictures in case the scraper can't find the game.
Basically it's up to you what you want to have for cutouts.
After cutting the back out of the cord bay I used an old floppy disk for a fascade, made cuts for the cords and used sugru and hot glue to keep everything in place.
The HDMI port is just to the side of the cord bay. Keep in mind how you want to position the RP in the case when considering cord slots. Hindsight I may have rather put the HDMI port on the side or bottom of the case. The case has channels in the bottom which would be perfect for cords. I've seen this utilized before and the result is nice.
I decided to make the cord cuts before painting as it can be very easy to slip with a dremel and mess up paint. But over the course of using the dremel anyway for floppy disk plastic cuts I still messed up the paint. What I've done and will do again is to spray the same paint into a cup and brush it over the chipped spots. Some spots near the NES labels for AC adapter etc. need touching up. It's not perfect but I can always go back to it.
Step 5: Nitty Gritty Wiring
Here's where I put my soldering to the test and installed a shutdown circuit ordered from here.
I edited the diagram for hooking up the wires specifically for a RP3 model B. It should work.
If you want to switch out the old red NES LED and replace with a different color it's actually quite easy:
1) Remove LED from clear housing
2) Desolder posts
3) Insert new LED so the long leg (positive) is on the right if looking at the angle in the picture. Basically where you see LED on the board, put the long leg just under the "L".
4) Solder and cut excess leads.
You'll need a resistor, that's where the 300 ohm comes into play. Solder that onto the positive leg. Also in one of the pictures the tracer on the board is scratched up. You'll need to do that to get the LED to work.
Next part is to wire up the breadboard. This was super easy. I took three different colored 20mA LEDs and wired them per the picture. Each had a dedicated 100 ohm resistor on the positive leg. They are wired in parallel. The power source was a 5v GPIO pin for the positive charge and ground pin for negative.
That takes care of the shut down circuit and window lights. One thing to note, be careful moving around the wires for the shutdown circuit. The solder points are delicate and will abruptly turn off the RP, very bad for it. Once you've tested the circuit and it's in the NES case, use twist ties and sugru to keep it in that position.
Circuit Wiring Original http://m.imgur.com/gallery/f4jGz
Breadboard LED Diagram http://www.sysrecon.com/tag/led/
Step 6: Organizing the Mess
Once wiring is complete and the circuit is tested with breadboard hooked up and controllers mapped, it's time to position the mess of wires, RP and breadboard. At this point you should have the following in the case:
- RP with optional case
- Breadboard with LEDs and resistors
- 2x USB extension cords for controllers
- USB hub and cord
- HDMI extension cord
- Ethernet extension cord
- Mausberry circuit
- On/Off switch
What I did was position the RP in it's own clear case with USB ports facing to the right side (if you were looking down on it). Mausberry circuit facing on/off switch. Breadboard stuck to RP case with tape (came with breadboard) so LED's can be seen through the top window. USB hub glued to window. Wasn't the biggest fan of this but it was the only way I could think of to access it through the NES case door.
Step 7: Done!
Using the original NES screws secure the case and fire it up.
- Frosted glass film. Could diffuse some of the intense LEDs.
- Small PC fan in case there is noticeable overheating.
Hope you enjoyed this and found it clear, concise and easy to follow. Please feel free to leave comments and questions. I'll do my best to answer them and guide you through this awesome project. As far as getting software and NOOBS installed, I bought it pre-loaded (as previously mentioned).
Have a blast with this project! It's well worth it.