Pi in a NES Cart

Want to show off your own project? Want to keep a build log of it? Post it here!
User avatar
obsidianspider
Posts: 98
Joined: Tue Sep 06, 2016 11:01 am
Has thanked: 134 times
Been thanked: 35 times

Pi in a NES Cart

Post by obsidianspider » Tue May 08, 2018 1:39 pm

I finally managed to put a Pi in a NES cart. I'm pretty happy with how it turned out.

Image

Parts List
  • NES Game
  • Reproduction Game Label
  • Raspberry Pi Zero
  • Micro SD Card
  • 2.8" ILI9341 SPI Screen
  • SPI Screen Ribbon Cable Carrier Board
  • Reproduction NES Classic Controller
  • Perf Board
  • TP4056 Charging Board
  • LiPo Battery
  • SPDT Slide Switch
  • Adafruit I2S Amplifier
  • B103 10k Ohm Duplex Potentiometer
  • DS Lite Speaker
  • 30ga Magnet Wire
  • Miscellaneous Hookup Wire
  • Heat Shrink
  • Nylon Standoffs
  • ABS Cement
  • Hot Glue
  • Kapton Tape
  • VHB Tape
Back in late February or early March I saw Elliot from The Retro Future work on putting a clone NES in a NES cartridge shell during a live stream. It got me to thinking that I could probably do something similar with a Raspberry Pi.



After searching around a bit I saw that this was not a new idea. Someone had done a similar build back in 2009! I really liked how they used the controller bits for the button wells so I knew I wanted to attempt to recreate that.



I had some parts laying around and a quick mockup made a Pi Zero build look very possible.

Image

I didn't want to use a real Nintendo controller, so I went to eBay and found a cheap NES Classic knockoff controller to use.

I looked into reproduction cartridges, but they were pretty expensive and by the time I got one and decals it'd cost more than if I bought two or three junky real NES games. It may upset some purists, but I ended up buying a bunch of crappy games in good condition to use as a donor. I figured if I messed one up I would have a spare.

While I was waiting for parts to arrive I decided to work on getting the screen and I2S amp working. I could have used USB audio and a separate amp, but I wanted to learn how I2S amps worked and since NES games are all mono anyway, it ended up being a good opportunity to use one. Thanks to the scripts on Adafruit's website, after mocking things up on a breadboard it ended up being really easy to set up the amp.

It took a while for the controller to arrive from China, but once it did I got started with breaking things down.

Image

Image

It's a very simple design and I learned that the NES Classic controllers work via I2C. I originally wanted to interface via I2C, but I wasn't able to properly initialize the chip, so I eventually decided to just remove the blob chip and go straight to GPIO and interface using Retrogame.

Image

Now that I had things more or less working electrically I decided to work on what ended up being the most difficult part of the build: the case mods. In total I spent over 25 hours on the controller and cartridge case mods (not including ABS cement cure time). No, that is not a typo.

I used a Dremel to roughly cut out the button areas from the controller and started soaking the game label with Goo Gone to release the adhesive. (Sorry, fans of Jaleco Hoops.)

Image

After a lot of patience the label came off nicely.

Image

I then marked out the hole for the screen and used a Dremel to make a rough cut. I finished it up with a hand file.

Image

Taping the screen into place as a quick mockup made things look really promising.

Image

Next came filing down the button surrounds. This took many hours with a set of hand files. I tried different ways to make it go faster, but there really wasn't a shortcut.

Image

Image

Image

The most challenging part of modifying the controller was the D-Pad. I had to figure out how to get things as close to the edge of the cartridge as possible but still retain the posts that keep the contact membrane in place. This took quite a bit of mocking up and figuring out. to get in the right place. I ended up using the screw post from the cartridge to replace the post from the controller.

Image

Since I needed the ring from the D-Pad to ensure proper movement I needed to remove that with as little waste as possible and I also needed to make sure I didn't damage the actual cross portion that would be on the front. I used a coping saw blade to slowly remove the ring from the back of the D-Pad section of the controller. Once I had the ring off I was able to hand file out the cross portion of the D-Pad. This took a long time. The actual ring around the cross portion is only 1mm wide, so I had to take care not to crack it while filing.

Image

With all of the button wells now removed from the surrounding controller plastic I used the sticker from the controller to mark the location of the areas to be removed from the cartridge. This took a lot of figuring so I could properly locate the post from the cartridge shell that would be used for the D-Pad. I marked things with a permanent marker before making some rough cuts with a Dremel. I finished out the holes with a hand file. This took forever. Filing, putting the button well in place, removing, filing some more, and repeating seemingly endlessly.

Image

Image

Image

Because things weren't entirely symmetrical I used match marks so I was positioning the button wells in the same way as I made the holes. I mixed up some ABS cement with acetone and the parts of the cartridge shell that were removed for the screen and button area. First I tacked the button wells in, then added more ABS cement after things had cured for a few hours. I ended up being a bit overzealous with the ABS cement and there is some slight warping to the shell caused by the ABS cement curing process. It's not really noticeable when things are all together, but it's something to be aware of.

Image

Image

After the ABS Cement had cured for a while on the cross for the D-Pad I placed the D-Pad in so I could figure out the position of the ring. I then tacked that in with ABS cement and then reinforced it after the tacks had set up, adding more ABS cement slowly over the course of a few hours.

Image

While not perfect, after curing for a few days the shell looked really good.

Image

I needed a way to keep the PCB for the controller in place, so I used some nylon standoffs that I had on hand and glued them in with some more ABS cement.

Image

In order to fit the battery charger and audio components I removed the ridge from inside the front half of the cartridge shell with a Dremel.

Image

Once I had that out of the way I determined that in order for things to properly clear the lip on the bottom of the cartridge I would need to raise things up, so I used some scrap perf board. I attached the power switch, battery charger, volume wheel, and speaker to the perf board.

Image

With all of the components laid out I wired it all up using 30ga magnet wire for the controller so I wouldn't have any interference with the button pads. Everything else used hookup wire. I wanted to get everything working electrically outside the case before I started securing things to the cartridge shell.

Image

I wasn't sure what I wanted to do for a label. I mocked some up in GIMP, but in the end I chose a reproduction Ghosts N' Goblins label. I messed up when sticking it to the flap at the top so I had to remove it and reattach it, so it's not perfect, but it's not terrible looking and in a way it looks like an old game, or at least that's what I'm telling myself.

Image

To finish things off I used a combination of kapton tape, VHB tape and hot glue to secure the components to the shell. I used more nylon standoffs to support the button PCB. The bottom two screws of the case keep it closed. The middle screw was trimmed off and glued in place.

Image

If I had to do it over again (and after how long those case mods took, I doubt I will) I would look into a potentiometer with a different range as this one basically mutes for about 3/4 of the range. I might also look for an IPS screen since this one has a limited viewing angle, but aside from that, everything works really well and I'm very pleased with how it turned out.
Last edited by obsidianspider on Tue May 08, 2018 6:56 pm, edited 2 times in total.

User avatar
JamesW
Posts: 36
Joined: Wed Sep 27, 2017 4:45 pm
Has thanked: 12 times
Been thanked: 23 times

Re: Pi in a NES Cart

Post by JamesW » Tue May 08, 2018 2:25 pm

Hell yeah, any build pics?

User avatar
obsidianspider
Posts: 98
Joined: Tue Sep 06, 2016 11:01 am
Has thanked: 134 times
Been thanked: 35 times

Re: Pi in a NES Cart

Post by obsidianspider » Tue May 08, 2018 2:41 pm

JamesW wrote:
Tue May 08, 2018 2:25 pm
Hell yeah, any build pics?
I have a lot of photos from the build. I'm going to edit the original post with photos and an explanation of my process, but I have to organize all of my thoughts and make something coherent. I just wanted to share as I'm liking how it turned out.

User avatar
rodocop
Posts: 1696
Joined: Mon Aug 22, 2016 3:14 pm
Location: Saskatchewan
Has thanked: 606 times
Been thanked: 598 times

Re: Pi in a NES Cart

Post by rodocop » Tue May 08, 2018 6:58 pm

Awesome!!!

Trekintosh
Posts: 19
Joined: Sat Apr 28, 2018 10:48 pm
Has thanked: 2 times
Been thanked: 6 times

Re: Pi in a NES Cart

Post by Trekintosh » Tue May 08, 2018 11:14 pm

Beautiful design. All that file time really paid off on those button surrounds.

User avatar
moosepr
Posts: 523
Joined: Wed Jan 25, 2017 6:18 am
Has thanked: 69 times
Been thanked: 241 times
Contact:

Re: Pi in a NES Cart

Post by moosepr » Wed May 09, 2018 2:34 am

AWESOME WORK!!!!
Get a small cheep LCD in your project https://www.sudomod.com/forum/viewtopic.php?f=22&t=2312
Wrap it all round a battery https://www.sudomod.com/forum/viewtopic.php?f=13&t=2292
Or use a custom PCB to make it really small https://www.sudomod.com/forum/viewtopic.php?f=13&t=2512
or make it really really really really tiny!! https://www.sudomod.com/forum/viewtopic.php?f=13&t=2919

User avatar
Holydohnut
Posts: 194
Joined: Wed May 10, 2017 2:02 pm
Has thanked: 29 times
Been thanked: 68 times

Re: Pi in a NES Cart

Post by Holydohnut » Wed May 09, 2018 2:53 am

That is very cool! I appreciate how much of a pain the button wells were, but it absolutely makes the project! They look amazing. I'm wondering if it would look as good 3d printed? Maybe the buttons could then all have thin edges which would help with the placement? Or maybe even be in one piece? I doubt it would look as good as yours, but it could shave 20 hours off the build if you wanted to do a new one!

User avatar
ekilla
Posts: 169
Joined: Sat Dec 09, 2017 8:04 am
Has thanked: 48 times
Been thanked: 50 times

Re: Pi in a NES Cart

Post by ekilla » Wed May 09, 2018 5:29 am

This really looks awesome. The Button wells and the screen placement really complete it.

Lpoolm
Posts: 392
Joined: Thu Jun 09, 2016 4:17 am
Location: uk
Has thanked: 76 times
Been thanked: 51 times

Re: Pi in a NES Cart

Post by Lpoolm » Thu May 10, 2018 8:28 am

Really nice think I might build one too!
Check out my modding and repair channel of retro and modern consoles:
https://www.youtube.com/channel/UCFz7yW ... GtQ/videos

Lpoolm
Posts: 392
Joined: Thu Jun 09, 2016 4:17 am
Location: uk
Has thanked: 76 times
Been thanked: 51 times

Re: Pi in a NES Cart

Post by Lpoolm » Sat May 12, 2018 2:13 am

What size battery did you manage to fit in?
Check out my modding and repair channel of retro and modern consoles:
https://www.youtube.com/channel/UCFz7yW ... GtQ/videos

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest