Jump to content
Unfortunately we had to take download section back offline temporarily. We should have it working normally soon.

NES Build with Raspberry Pi


Recommended Posts

Hello Fellow Hyperspinners!


Im starting on a new project that Im building for my brother that will involve a NES console and raspberry Pi.  I know its not Hyperspin, however; Ill detail the process as I go and in case anyone would want to use a Pi instead of using an ITX motherboard.  Here are my project goals (depending on the snags I run to, might change):


-Retain the cartridge loading mechanism (minus mainboard) and give it a purpose ...I plan to either use a USB drive or hard drive inside an existing cartridge and use the 72 pin connector (both in the cartridge and Nintendo cartridge receptacle) to run a USB connection to the Pi.  I will also incorporate a feature in the cartridge that will allow the Pi to power only when the cartridge is inserted (giving the cartridge/loading mechanism a working feature instead of just anesthetics).  Plus, I could use other cartridges for other features to the Pi such as video player or use SimplyAustin's way he uses his Pi.....to stream HS from another PC, etc.

-Use the existing A/V block for Pi A/V out

-On back side, incorporate a HDMI, power connection, and network jack where the old power/RF adapter are....looking a using a wallplate that will have a hdmi and network jack snap-in

-Swap out the front controller ports for dual usbs in each controller port....will be using 8bitdo NES30s controllers, therefore; the controllers could be connected via BT or usb cable

-Incorporate the power and reset switch to shutdown the pi or reset the emu using a Mausberry shutdown/reset module

-Depending on the condition of the NES, would like to keep it like the original....if the case I get looks bad and has yellowing, Im going to proceed on using retrobrite technique

-Use RetroPie/Emu station....will be passing the boot from SD card to the USB flash drive/hard drive


Soooooo parts have been ordered and will post screenshots of the steps once they come in!




As the parts slowly trickle in, I started on some of things.  Will break it down into three sections: system mod, cartridge mod, and then the Pi programming.  Ill also create a parts list in case anyone wants to mimic what Im doing:



With the system, I wanted to accomplish a few objectives:

-Utilize the cartridge loader for inserting the storage cartridge (still in the air on this one)

-Back power the Pi with USB hub

-If possible utilize A/V ports for alternate display (instead of HDMI)

-Allow the NES30 controllers to be hooked up via Bluetooth or by cable

-Use existing controller ports and just pass the USB signals from the NES30 to the Pi in case a physical connection is required.  The will require modification to the controller cable by cutting one end of the cable and inserting a male NES controller port (the other end is micro usb)

-Use a wall jack that accepts HDMI and CAT6 plugs....in between these two jacks, Ill have to drill a hole for AC adapter extension cable end

-Minimize as few cuts as possible to the system case...unfortunately a cut for the wall jack is required on the back of the NES and a few standoffs in the case



Cartridge Loader:

I wanted to see if the cartridge loader could be used without the main board. (and no the copy of Metroid will not be used in this build ;) )


Here is a picture of the cartridge loader without main board.  Success



Cartridge loader without mainboard....fully functional still!




USB Hub:

Next....was playing around with the orientation of the components in the NES that will be installed.  Found a perfect location for the USB hub....the plus, the holes in the USB hub are the same distance as the left standoffs




USB hub test mount in the NES using plastic standoff extenders.  The one thing I noticed is that there was an existing standoff that was higher in respect to the other standoff.  If I left the problematic standoff at its current height, I would not be able to insert USB cables into the hub as the cartridge loader would be in the way.  I proceeded to halve the standoff height so USB connectors are under the cartridge loader.




Backplate mounting for HDMI, network, and AC adapter extension cable:


The second modification to the NES case was needed for the walljack plate I'll be using.  Ill have to cut the back of the case and eliminate the RF adapter, channel switch, and AC adapter circuitry to accommodate the HDMI, CAT 6 and AC adapter connections.



My first cut on the back of the NES.....pretty good I say!  In order to create the even cut, I used an utility knife to get rid of majority of the plastic then filed with sandpaper to get it about perfect:



Heres the completed look....one thing I had an issue with was centering the AC adapter connection with the wall plate.   Due to the fact of how the wall plate was designed, I could not center the AC adapter hole in respect to the hole made in the NES case.  If I were to do that, I would be hitting the HDMI/Network snap connectors on the back.  The AC adapter is, however; centered in respect to the edge of the HDMI connection and edge of the network jack connection.  Other than that, the screws that give the wallplate support are center in respect of the hole cut in console plastic




Raspberry Pi Mounting:


To install the Pi, I had to eliminate four standoffs.  I also had to modify one of the cartridge loader standoffs to accommodate the network connection to the Pi.


Before the cut:



After the cut:



NES to USB internal/external cabling:

In order for the NES30 controllers to interface with the Pi via USB, I had to modify some cables.  I decided to keep the NES controller ports and make them carry USB signals.  Since the port contains two columns of pins: 4 pins and 3 pins, I used the 4 pin column to establish my USB connection.  What was nice was that I was able to use the existing NES mainboard connector and insert wires that have pin terminations.  On other side, I spliced into a USB male connector





For the external cables, I had to splice into a male micro USB connector into a NES male controller cable (using a NES extension cable).  The final result is a cable that is 10 ft long.  I made two of these:




Power / Reset Button modification:

To keep the functionality of the power and reset buttons, I decided to purchase a Mausberry shutdown circuit.  This will require modification to the power/reset button circuit board by disconnecting a circuit board trace.  If left intact, the power and reset button would do the same thing instead of being independent circuits in respect to the Mausberry circuit.  I also had to solder a 2.2K Ohm resistor to the negative side of the LED so that the LED doesnt turn orange (this is a result of the LED receiving too much voltage from the Pi).


Before the trace cut:



After the trace cut:



A/V Connector:

Since I wanted to retain the nostalgia of the A/V connector, I modified the A/V block case in order to accommodate the wall jack mount.  By the way, this connection will be usable as the RCA jack will be spliced into a 3 pole A/V cable and connected to the Pi



Here is the build so far minus the wiring of the power/reset switch, the Mausberry circuit, and cartridge loader:





Cartridge Loader:

Because of how the 72 pin connector was made, it was really hard trying to solder wires to the bottom connector upper contacts.  I ran into issues where the wires would break from the contacts.  After fiddling with this, I decided to connect the upper and lower contacts of the lower connector with solder and was able to insert pin cable wires into the back.  It actually worked out great!  I secured the pin connector and 72 pin connector with hot glue.









Mausberry Circuit and Finishing Up

Received the mausberry circuit and hooked it up to the power / reset switch.  At the finish line!



All assembled together








Using the cartridge, I want to do a few things:

-Update: So after much debate and hours looking, a 2.5 inch hard drive would not fit properly in the cartridge case without contorting the SATA cables beyond their capabilities.  I was also concerned about heat generated from the drive.  I proceeded to purchase a 256 GB USB drive without breaking the bank.  Any more than that and the price starts getting ridiculous.  Im still up in the air in using a hard drive in the NES and eliminate the cartridge storage feature......

-Utilize the existing connector to pass the signals to the NES when its loaded into the cartridge reader (if I want to continue on this path)


Heres the inside of non-working game...will be soldering the USB signals to the edge connector using the existing PCB holes:



I also removed all the circuitry in order to have just the PCB:





In order to fit the 2.5 hard drive, I had to cut the circuit board as so accommodate the size

Update:  I started to receive the SATA cables and 2.5 inch hard drive in the main...after much orientation changes and frustration, I had to come to the realization that the hard drive will not fit in the cartridge....the SATA cable would be torqued beyond usability.  I was also concerned with heat dissipation.  Im still torn on using a USB drive or just suck it up and install the 2.5 hard drive in the NES.....and use the loader / NES cartridge for nostalgic purposes.  Since the cartridge PCB board was already cut in anticipation of using a hard drive, I could still use it for designing the USB flash drive interface.  Ill continue with the mock-up with the USB flash drive and see how it works along with getting all the great games I would like to get on there.




Modified PCB in cartridge:



USB female connector that is terminated into the game connector



Orientation of the drive in the cartridge:






Pi Programming:

I started the Pi programming as I continue to wait for parts to come in.


Since I haven't been on the RetroPie site for a while, to my surprise they offer a BerryBoot version.  If you don't know what BerryBoot is, its a multi-OS launcher....howwever; the best part of it is that you can extract system OS files onto a external device like a USB flash drive or hard drive at the very beginning without having to set this up post install.  Links to software will provided



I actually went to the main BerryBoot site and downloaded the program.  I proceeded to use the SDFormatter program to format my SD card to FAT.  After that, I extracted the BerryBoot files to the SD card and booted the Pi.  Upon boot, you are presented with a easy GUI that offers setting up your OS.  Since I want majority of the system files and ultimately RetroPie to be on my USB, I proceeded to select destination device to this external device


Once BerryBoot formats your USB drive, its time to install Retropie.  I had to click on the second tab to see RetroPie on the list.  After clicking on RetroPie, BerryBoot proceeded to download this package.  When this was complete, I was presented with a BerryBoot Menu Editor screen.  Since BerryBoot will be launching RetroPie, I set the timeout to 1 sec in case I need to modify any BerryBoot settings before I try setting it to 0

Link to comment
Share on other sites

  • 2 weeks later...

Yeah..I like your idea Iggy...read this thread when you posted it but forgot to answer...I made my NES PC with a ITX and G3258, but a pi is definitely easier to fit in the NES case and much cheaper.

I would like a raspberry pi for some old school games, but I have no knowledge about pi's nor linux and I'm not sure I have time to learn it either.

Link to comment
Share on other sites

Good to know, thanks! I'll have to check it out.


I actually bough one for a project that was meant to be built into an old phone that when you lift the phone from the baseunit it would play a soundfile, but never got into it because I had no idea where to start.

Link to comment
Share on other sites

Some further updates.....a lot of engineering done within the NES.....I had to forgo the 2.5 hard drive in the NES cartridge and use an USB flash drive.  The hard drive and cabling would not fit unless I removed the connector or make modifications to the NES cartridge casing.  I was also concerned about heat generation within the cartridge while in the NES.  I still wanted to use the cartridge loader to "load" games as you will.....to give it some functionality since the build is around retaining the loader, however; Im still open in placing a 2.5 inch drive in the NES and use the cartridge/loader for nostalgic purposes.

Link to comment
Share on other sites

NES Pi insides have been completed (see first post)!  Working on RetroPie setup.  So far the 256 GB USB has been more than plenty for games :)


NES power light working and functional along with reset button :).  Last thing to do is finish RetroPie setup, rid the minor yellowing on top half of console, and make a label for cartridge. 



Link to comment
Share on other sites

  • 4 weeks later...

Since this NES is for my bro and hes a huge Star Wars fan, im going to transform this unit into a R2D2 NES unit.

Some of the things im going to try:

-use a blue/red bicolor led to resemble power and cpu activity by the power button

-have the unit play sounds when plugging in power, powering up, reset, and powering off using adafruit audio board, custom circuitry, and a speaker

-incorporate a actual rear logic display towards the back

-modify the outside with laser cut acrylic and custome parts to help make the case look like a R2D2 unit and ultimately paint it

Link to comment
Share on other sites

  • 4 weeks later...

You don't need to know Linux to use emulators on the Pi. There are several ready built SD card images that you just have to copy the games to and away you go.

Look for PiPlay and RetroPie for starters.


you may also take a look at http://www.recalbox.com/ - runs fantastic on PI2 and includes all the good stuff mostly preconfigured and Kodi.

Link to comment
Share on other sites

  • 2 weeks later...

Hi! How did u connetc the original nes game ports to a usb without any converter. Can u pls tell me more about it?

Thank u!

Hi there, so the usb cabling from controller to usb hub is straight thru usb.....so within the case, I used 4 pins out of the 7 on the NES port for usb (5v,gnd, +D, and -D). I took these 4 pins and spliced them into an usb cable that connects internally to the usb hub.  For the controllers, since they connect via micro usb to usb (for charging).... i cut the regular usb end and spliced the micro usb end into a nes controller port.  Put some heat shrink wrap and voila.  

Link to comment
Share on other sites

Btw....the electronics of the nes r2d2 is almost complete....will be showing off soon ;) I went to the extent of converting my relay proto board into an actual pcb :).  This relay board controls the R2D2 sounds and lights.  When you plug in the power cable, the unit plays a sound.  When you press the power button on/off, it plays another bank of sounds, and when you press reset, it plays a third set of sounds




Link to comment
Share on other sites

Ok...Iseriosly dig this!


I had a work project recently where the customer wanted an old phone (the type with a circular number dial) that would play a sound file whenever someone lifted the phone from the base station. But I could never figure it out...this looks like it could work for that as well...I actually have no experience with either RasberryPi nor Arduino and I know it can be done, I just don't know how :P

Link to comment
Share on other sites

Ok...Iseriosly dig this!


I had a work project recently where the customer wanted an old phone (the type with a circular number dial) that would play a sound file whenever someone lifted the phone from the base station. But I could never figure it out...this looks like it could work for that as well...I actually have no experience with either RasberryPi nor Arduino and I know it can be done, I just don't know how :P


Thanks!  I can help out with coming up with some ideas for ya!

Link to comment
Share on other sites


This topic is now archived and is closed to further replies.

  • Create New...