Jump to content
Iggy

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:

 

System:

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

760ZmN1l.jpg

 

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

DaEsWpHl.jpg

 

 

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

c1lcLhkl.jpg

 

 

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.

hsANt04l.jpg

 

 

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.

ARvvZsxl.jpg

 

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:

HDNWxv7l.jpg

 

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

3qg1ioql.jpg

 

 

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:

eN7EWFtl.jpg

 

After the cut:

kmJwiQIl.jpg

 

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

h9HCFJMl.jpg

 

rxHCINKl.jpg

 

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:

txrxYVSl.jpg

 

 

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:

cOWpvjhl.jpg

 

After the trace cut:

41zm5fml.jpg

 

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

Uqd5X7bl.jpg

 

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

cTKYzD0l.jpg

 

aLWsmV1h.jpg

 

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.

 

WxmUi2ml.jpg?1

 

84tdPI9l.jpg?1

 

0Hy3Tcql.jpg

 

 

Mausberry Circuit and Finishing Up

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

aR5IiTTl.jpg

 

All assembled together

 

7qqYstRl.jpg

 

GjTT94al.jpg

 

 

Cartridge:

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:

Aih6a0tl.jpg?1

 

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

lQN8sNCl.jpg?1

 

3DWFLKYl.jpg?1

 

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.

J1BsC1hl.jpg

 

 

Modified PCB in cartridge:

EYYxtdMl.jpg

 

USB female connector that is terminated into the game connector

ZQGrGwMl.jpg

 

Orientation of the drive in the cartridge:

hCzUK9nl.jpg

 

 

 

 

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

 

BerryBoot:

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

  • Upvote 5

Share this post


Link to post
Share on other sites

I did the same thing with a megadrive mate.. good bit of kit the pi 2!

 

 

It runs from 360 pads wireless. 1tb hdd for PlayStation, DC and Saturn collection and the controller ports are now usb.  I love these things!!

 

If you need any sets they are all included in vid mate 

  • Upvote 4

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

  • Upvote 1

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites

 

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 ;) )

 

760ZmN1l.jpg

 

Actually not ;)

  • Upvote 2

Share this post


Link to post
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.

Share this post


Link to post
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. 

 

YMbbMb1l.jpg

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

wow...very cool, if you can pull it off that is :P

 

Looking forward to this!

Share this post


Link to post
Share on other sites

Awesome work buddy, i love this project!

Envoyé de mon D6503 en utilisant Tapatalk

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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!

Share this post


Link to post
Share on other sites

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.  

Share this post


Link to post
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

 

AUD4Bzll.jpg

gernhizl.jpg

  • Upvote 1

Share this post


Link to post
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

Share this post


Link to post
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!

Share this post


Link to post
Share on other sites

Here's a site where you can submit your own custom cartridge design idea and they'll do it for ya...

 

http://www.shopflashbackgames.com/

 

I think you should submit your own design and have your own custom cartridge with your final setup.

 

Great job by the way.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • By wegen
      Bonjour à tous,
       
      ayant toujours baigné dans le jeux vidéo et étant très nostalgiques des anciennes consoles, il a été tout naturel pour nous trois de nous lancer dans le montage de notre propre borne d'arcade.
       
      Ce projet étant à la base destiné a y installer uniquement un raspberry pi 3 avec Retropie, nous sommes arrivés ici et sommes très intéressés à faire évoluer notre borne d'arcade en y intégrant un PC relativement récent sur Windows et Hyperspin.
       
      Pour le moment nous en sommes encore au stade du montage de la caisse de type cabinet. Au cours des prochaines semaines, nous serons en mesure de publier des photos du montage et sommes naturellement très intéressés par vos retours d'expérience.
       
      Au plaisir.
       
       
    • By kfchow
      Hi guys,
      Its been a few years since i've built a cabinet. This time though i decided to build a small bartop cabinet for my nephew's 2nd birthday present as he just loves to play on my cabinet when he comes around. I wanted to do this on a budget so most of it was built on parts i had lying around. Decided to build this one though with a raspberry pi so no hyperspin on this cabinet. All in all the project ran over a week including 3d modeling, cutting wood, painting, wiring, programming.
      Parts List

      15" Samsung LCD (had lying around)
      Raspberry Pi model b (had lying around)
      32gb SD card (had lying around)
      Old PC speakers (had lying around)
      Buttons and joystick (had lying around)
      Ultimarc i-pac (had lying around)
      10mm MDF ($16 obtained from bunnings)
      8mm Perspex ($30 obtained from bunnings)
      Red paint ($8 obtained from bunnings)
      Black paint ($8 obtained from bunnings)
      Clear paint ($8 obtained from bunnings)
      Primer ($20 obtained from bunnings)
      fluroscent lamp ($25 obtained from bunnings)
      6 Port Power Board (had lying around)
      Misc gritt sandpaper (obtained from bunnings)
      Misc sized wood screws (had lying around)


      Design
      As i had to build a cabinet to meet the minimum size requirements of all the bits i had lying around i decided to draw up the bits in sketchup first and design the cabinet around those bits. Sketchup already had a pretty nice bartop cabinet in their online warehouse repository so i decided to use that as a template and scale to fit my components.

      Build
      I'm a programmer by trade and am terrible with tools but thought hey how hard can it be i shouldn't be able to screw it up. How wrong i was. First of all having the right tool for the job helps incredibly. Trying to cut straight cuts with a jigsaw is absolutely impossible. Reminder to self buy a circular saw. here are some photos of the frame as it was getting cut. I decided to put hinges on the rear panel and control panel so that i could maintain it. The raspberry pi, ipac and pc speaker amplifier will be mounted on the rear panel so when i open it up it would be easy to maintain.

      Painting
      Decided to go cherry red with black control panel for the paint job. Did lots of sanding to make sure that they surface was even (though my cuts were bad) and wet sanded every coat.

      Marquee
      Whipped something simple up in photoshop (could have done it in ms paint even) and printed out onto A3. stuck it on with tape on the back and sides of the perspex (advantage of having 8mm perspex).

      Wiring
      Screwed in the buttons and joystick (8 button's plus coin, start and exit) and soldered on the wiring. Had to use a terminal block to split the ground cable.
      3.5 stereo from raspberry pi to the PC speaker amplifier
      usb from ipac to raspberry pi
      hdmi to vga converter from raspberry pi to pc monitor (had some issues with getting this to work)

      Software
      So this is the interesting part. I've used quite a few raspberry pi's but usually for XBMC, web servers, siri proxy, etc. Luckily some smart cookie made this easy to set up with all emulators with a setup script (retropie). There were a few things i needed to sort out myself though.

      Caching EDID information. Because the monitor powers on after a few seconds the raspberry pi misses the EDID information from the monitor and as such shows no image what so ever. Upon softwar reboot of the raspberry pi i could get an image. Ended up hard encoding the EDID information into the raspberry pi to resolve this issue.
      IPAC congifuration needs to be reloaded everytime. Some smart cookie developed some software for linux to program the ipac (http://zumbrovalley.net/readpost.php?artid=6). Just downloaded, compiled and added the command to my rc.local file to ensure it executes at bootup.
      Retropie like hyperspin uses XML for its gamelists. These gamelists can be auto generated with internal software however it utilises the existing filename. This is ok for the most part apart from mame. So had to output the gamelist from mame and do some quick bash scripting to generate a xml medialist.
      Retropie also hard encodes the path to the image file within the gamelist xml. So had to create a bash script that grabbed the filename of the game and matched it to the cover art. Luckily emumovies coverart uses the same naming convention as the game name.
      Wanted to add a splash screen with a custom image so had to write up a script to run at startup.

      Final Product
      Anyway here are some final pics of the finished results. The lessons i learnt are that I am terrible with a jigsaw and MDF splits easily. Boot time though is extremely quick. 20 seconds. Great thing about the raspberry pi is that it is extremely energy efficient as well. Hopefully my nephew will treasure this for many years to come.






×
×
  • Create New...