Instructables

NES in a Cartridge

FeaturedContest WinnerContest Winner
Picture of NES in a Cartridge

If you liked this instructable, consider checking out my new website www.TheSiliconJunkie.com

     Have your ever seen any of "Ben Hecks" portable console builds? Well if you haven't, he often uses these Chinese Famicom clone consoles. These cloned consoles are often times refered to as NOAC's, meaning NES On A Chip. They are called this because they are a fully functional Nintendo Entertainment System literally on one chip. The best part about the NOAC is that they include a 60 pin famicom game port, which in our case can easily be converted over to a 72 pin NES game port.
    
     I originally got this idea from Kotomi (link below), and figured i would try to do the same thing. My plan was to use the original NES controllers, instead of the cheap super joy ones, which is what i believe Kotomi used. Kotomi's system also incorporated the original Famicom connector instead of the NES connector. In order to use the NES controllers, I would have to convert the NES controller's shift register data into the NOAC's controller chips. So... what better way to do it than with an Arduino!!!!
http://kotomiblog.blogspot.com/


 
Remove these adsRemove these ads by Signing Up

Step 1: Materials

One of the toughest things to find is the Chinese Power player unit (or Super joy thingy), which ever system you find, they all should work about the same. I was lucky enough to find mine at good will for 6 bucks... can't beat that. Any ways, if you can't find one locally then check on ebay. The only problem is that if you buy one off ebay then it will run you around 20 bucks. All the rest of the stuff you can get either from Radioshack, or once again on ebay. In my case I bought the 72 pin connector and the ports separate, however you would probably be better off just buying a broken NES. My only problem was that I was kinda pressed for time, and couldn't find one FOR CHEAP!!!!

1. Power Player Unit (or similar)
2. NES 72 pin connector
3. 2 NES controller ports
4. An NES game that will serve as the case
5. An atmega168 (arduino chip)
6. Texas Instrument TLC5940 (you can get these as samples from their site... their free)
7. Some basic parts such as switches, leds, along with a 7805 voltage regulator
8. PCB making stuff (I used the toner transfer method)
9. Basic knowledge of soldering and electronics
10. And most definitely a dremel tool with some bits and cut off discs
11. A multimeter is probably a good idea as well, because you will need it for troubleshooting

Step 2: Disassembly

Picture of Disassembly
DSC_0520.JPG
     After you've played around a little with your Power Player, and got a kick out of some of the things they've put on it..... sadly it is time to take it apart. Hopefully it won't be too long until you will being playing games on it once again though.
     So once its all apart, start off by locating where the power inputs are. Something that I like to do is to take a picture of the board (or scan), and put it into photoshop and color in the traces according to their use. It's a helpful tip that I like doing, because sometimes when your cutting up a board, you will forget what things went where and things just get crazy.
     Once you've found the power connections, I would test to see what voltage the unit runs one. Most commonly it's going to be 5 volts, but just check to make sure. In my case the wall adapter was ouputing 13 volts, but there was a 5 volt regulating circuit on the controller PCB.
     The next thing you want to check on, is there or not the player buttons have a common connection. Most of the time they will use ground as the common, but I've seen others. In my case it was ground, which works out perfectly because the TLC5940 outputs only grounded signals to achieve PWM.

Step 3: Testing the button simulator

This step isn't necessary, but it would definetly be a good idea to do it. So first I would download the attached zip file. It contains the Arduino sketch, as well as all the TLC5940 driver files.

TLC5940:
Connect the TLC5940 as follows. I got this from the basic use sketch that comes with the library.
Arduino             TLC5940
13                      25
11                      26
10                      23
9                        24
3                        18
+5v                    19 & 21
GND                 22 & 27
GND   -WW-    20 (2K resistor goes from pin 20 to ground)

NES Port:
For this part, I just cut the wires on my stock NES controller port and wired them up according to this diagram.
  ___
| 1     \
| 2   5 |
| 3   6 |
| 4   7 |
 -------
1 = GND
2 = CLK
3 = Latch
4 = Data_Out
5 = +5VDC
6 = N/A
7 = N/A

Power Player:
Now solder some leads on to the button pads of your controller, make sure it's the NON common side of the pads.
Next, you can connect the leads up accordingly.
NES button                 TLC5940
Player One:
A                                  OUTPUT 0
B                                  OUTPUT 1
Select                         OUTPUT 2
Start                            OUTPUT 3
UP                               OUTPUT 4
DOWN                        OUTPUT 5
LEFT                           OUTPUT 6
RIGHT                         OUTPUT 7
Player Two:
A                                  OUTPUT 8
B                                  OUTPUT 9
Select                         OUTPUT 10
Start                            OUTPUT 11
UP                               OUTPUT 12
DOWN                        OUTPUT 13
LEFT                           OUTPUT 14
RIGHT                        OUTPUT 15

Finally, connect the system up to the TV, making sure that the arduino and the Power Player share the same power supply or their grounds are connected. Go ahead and test it out. If everything works good, then great! If not, then try to trouble shoot the problem.

Troubleshooting Tips:
1.     Test each output with an LED, connecting the long leg to +voltage, and the short leg to the TLC5940 output pins. If they don't work, then check the wiring of the TLC5940
2.     If all the LED's turn on when you press a button, then check the wiring on the controller port. This will occur when there are some wires switched around.
3.     Also make sure that your Power Player, or Super Joy, or other thing works off of common ground system. Meaning that when the buttons are pressed on the system, they short out to ground.


Step 4: Making the controller board

     For this step, I'm not going to go through all the steps on how to make a PCB, but there are plenty of tutorials out there. So download my design, which was made using diptrace. You can download a freeware version of diptrace from their site. It's a very good PCB design program. Once the board is made, solder all the parts on.
Download the freeware version: http://www.diptrace.com/download.php
Parts:
Atmega168
TLC5940
16MHz crystall
2k Ohm resistor
28 pin ic socket

      Once it's all put together, it is time to cut up the Power Player boards. Start by locating the glob top where all the button inputs go into. Then take your dremel tool with a cut off disc, and cut it right out of the board. In my case, I think I made the board a bit small, so I ended up making the player 2 board a bit larger. The problem with making it so small is that when you attach wires, they tend to rip the traces right off the board. This happened to me about 3 or 4 times with player 1, it came to the point where i actually had to chizel a little bit of the black glob away, just to get more copper to solder onto.
     Now that the glob top is seperated from the PCB, it is now time to  scrape the solder mask off of the necassary copper traces. Use your diagram that you made, or however you chose to remember the pinouts to solder the correct wires to the PCB. Use the diagram ive uploaded to connect the wires. Repeat this same process for player 2.

Step 5: Making the game port connector

1.     Start off by taking a dremel with the cut off disc, and completely cut the connector in half.
2.     Then using the same cut off disc, shave the mounting bracket off each side.
3.     Then if you choose, you can use some sand paper to smooth it over.
4.     Attach wires on each pin that is required by Ben's diagram, which i have attached. (i like using old IDE cables from computers, because they are relatively small guage, and they bend nicely)
5.     Next, you have to desolder the crappy Famicom connector from the NOAC.
6.     Reconnect all the wires that go to their respective spots on the NOAC.
7.     Try it out! put a game in the system, and if it works great. If not make sure that CHR A10 and CHR A11 are flipped.

Step 6: Making the case

     This step is kinda of a free for all, meaning that you can go about doing it which ever way you want. The way I cut the parts was I would use a cut off disc/dental bur to cut off big pieces. Then i would use the needle files to smooth out the edges. This is relatively time consuming process, but it produces a nice piece of work.

Step 7: Putting it all together

     The first thing that i had to do was to find a good spot for the power switch, and the led. So i found a good spot that had space where there weren't any electronics. Once that was in, I hot glued the power jack, and soldered the voltage regulator onto it. I then connected the regulator output to the switch, and the led.
     The hardest part was to fit the cartridge port in the case. In order to do this I had to hot glue and somewhat put the case together, then i put a game in the port and held it where i wanted it to be. This technique worked good, but had to be done quickly before the glue cooled. Once that was in, I was on the home stretch.
     The next part was to put the CPU right between the connector and controller ports, and tack that down with some hot glue. Next i hot glued the controller ports in, along with the AV outputs. Now I had to find a good place to connect the power to, so i chose one of the controller ports. I soldered the power off the switch to the positive on the controller, and the negative does the same. The only thing left to do was to fit the controller board in, and screw the case closed.
     The controller board fit right between the ports, and the power switch (intentionally). Making sure as to not crimp any wires, I screwed the case together. DONE!!!!! Finally, I could run over to the TV and test it out.... works like a charm!

Step 8: Conclusion

     This project was definitely rushed due to the dead line of the Epilog challenge contest. However, I did my best to take my time, and complete it in steps. That is the most important thing with building stuff like, to always take it steps, making sure to test it along the way. I plan on making more console mods, and portable units, however the only thing that limits me is that I can never get a nice case to put it in. If I won this Epilog Zing laser cutter, I would explode with new ideas, from making cases for portable NES systems, to making side lit LED signs. I'm already designing a new Atari 2600 mini arcade machine, and plan on making the arcade machine out of laser cut acrylic. I'm hoping for the best. Good luck to everyone, and may the best Instructable win!
ehabcharek7 months ago
@nerd7473 I asked on this site. Sorry for the late reply, I don't check my email very often :P
during that period though, I found a website that also shows the pinouts of the Super Joy 3! The only problem is that they aren't the same. Now I don't know which one to trust XD
http://portablesofdoom.org/page.php?page=nes

P.S. it's not letting me reply for some reason :c
ehabcharek8 months ago
Hello,
I'm sorry for this noob question, but why do you have to make the controller board? can't you just connect the pins of the controller ports to the NOAC board according to the image provided below and let the IC in the controller itself do the processing?

also, how do you program the arduino chips? I'm assuming that you need an arduino for that, right? I've never used one, so.. :P
superjoy3completepinout8te.jpg
I have no Idea have you asked this question in Google or on this site?
wes210310 months ago
Do you ever play it
celrod31 year ago
Which TLC5940 sample do I need to get there are many?
Please respond!
dany32412 (author)  celrod31 year ago
The TLC5940NT will do fine. Notice the package type "PDIP" this is the familiar "spider" looking chip. The dip package makes it a lot easier to solder to compared to QFNs or TSSOPs.
One certainly stupid question: do we have to program the ATmega328? If so, what program do we have to up load in it?
dany32412 (author)  GenesisMaster1 year ago
I've updated step 3 to include a zip folder with all the sketch files, as well as library files. Just open up the Arduino IDE, and write the .ino sketch file to the arduino (atmega328)
Thanks for the advice, it works. But I still have two questions:
1) Do we need a special machine to create a PCB? If so, where to find one? Is it expensive?
2) Will this Micro NES work with an ATmega328 instead of a ATmega168?
Because I couldn't open The DipTrace file (it was like corrupted), I tried to make one myself with the pictures of the PCB you made. Here's the results (white: top tracks/red: bottom tracks):

Did I have placed the bottom tracks correctly?
Micro-NES-main-PCB-layout.PNG
dany32412 (author)  GenesisMaster1 year ago
All looks good, except the white tracks are what should be on the bottom, and the red are the jumper wires (top side). I hate the instructable's file uploader, it doesn't seem to allow users to download very effectivly. Try right clicking the file, and renaming it with a ".dip" file extension. Not sure if that works, but worth a try.
ARIrish3 years ago
This is great, but isn't the game slot likely to get even more dusty and jammed up than it was on the original console? I mean that thing is just baring itself to the elements, right there.

Still though, I'd love one of these. Next step: a SNES inside a SNES cartridge...
The thing that failed on the OG NES was the connector because you had to load it like the VCR's of the day. It was this movement that lead to many of the OG NES failing.

The top-loader NES was released near the end of the console's life, and it uses almost the exact same connector as this one does here--and it works better than any OG NES ever.

I suspect that having access to the terminals will make cleaning easier.
Cleaning will be easier, certainly, but the connectors are directly open to the air, so all sorts of rubbish can get in there, meaning cleaning will be more necessary. The top-loading model has a plastic... what would you call that, 'trapdoor' mechanism, meaning when there's no game in it, it's covered up.
dany32412 (author)  ARIrish1 year ago
I supose as console size goes down, time spent cleaning goes up.
Or even better...a PS3 in a PS3 cartridge. XP

-TheWaddleWaaddle
PS3 cartridge?
haha, that would be intense
even better a 3DS in a lego brick!
lol
screen is hologram!
Very cool, I was wondering if you can use an nes controller extension cable as a port and somehow rewire it...
That is a very good idea, and possibly cheaper ($15.00 on ebay for a set of original ports).
Very cool, but i agree with spweasel. While this is somthing that looks neat, I'm not sure it could all be fit in an NES cartridge. As far as execution goes you could maybe document it in more detail with more pictures of the actual circuits and such. Great effort and an amazing idea though. 4*
Actually, I'm thinking we may be arguing opposite things. I don't doubt that you can fit the entire NOAC inside an NES cartridge with enough work.

What I'm unsure of is whether you really need much electronics knowledge to pull it off. Many NOACs (you can find them easily enough on Amazon, eBay, or similar) already have US controller ports and a 72-pin connector. So while you might need some creativity to do something with the controller ports, everything else shouldn't require much work to get inside.

Of course, you might want to replace the connector they use anyways, since they are infamous for being impossible to insert/remove games without damaging the plastic.
CIMG0003.JPGCIMG5652.JPGCIMG5654.JPG
nerys spweasel2 years ago
Which NOAC is that your using? link?
dany32412 (author)  nerys1 year ago
This is extremely similar to the Super Joy III http://en.wikipedia.org/wiki/Power_Player_Super_Joy_III

However, they all are truely the same on the inside. Maybe slight variation with the controllers and such, nothing too crazy.
Any luck on facing the ports upward?
Agreed. I am quite sure anyone could pull this off if they had basic soldering skills and almost no knowledge of electronics. This project is mostly made up of fabrication,"the case" ,and soldering,"the electronics".
Also, there are plenty of NES portables, meaning + Screen and batteries, even smaller than this one, at benheck.com. You could fit one of these in an N64 cart if you tried hard enough, and didn't use the original connector.
does it work with the power glove?
zombeastly2 years ago
the cartridge is suppose to go in to the nes not the other way around!!!!
OH THE IRONYYYYYYYYYYYY!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
tpellegrin2 years ago
where can i buy a pcb?
dany32412 (author)  tpellegrin2 years ago
radioshack sells em, i think there about 6 bucks... cant remember
nonekiller2 years ago
can i use a tennsy board instead of a arduino?
dany32412 (author)  nonekiller2 years ago
I have never used a teensy board before. From what i've read, they are similar to arduinos. If you could rewrite the code, and get it to fit inside the cartridge... then go for it!
FLINT2352 years ago
GREAT PROJECT!! This mod is more better than the original NES.
jordanwade3 years ago
sorry but im having trouble understanding what your taking off?
Wow, this is impressive. I've always wondered if the Nintendo Cards could fit inside a game cartridge. I guess my question is officially answered.

I wonder exactly how small one of these Nintendo Card systems could get?
Darn I used to have one but it broke. :(
Pro

Get More Out of Instructables

Already have an Account?

close

PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!