Introducing the μJoypad, the worlds smallest NES controller! Measuring in at 25.4×12.8×3.2mm (1.0×0.5×0.1in) this is, by my best research, the worlds smallest, fully functional NES compatible controller. A couple months ago I saw an article or video of the world’s largest game controller and thought to myself “I bet I could make the smallest” and so I did. The project is open hardware and available on GitHub. More pictures and a description of the design process after the jump.
As you may remember, this isn’t my first custom NES controller, but I started the project off hunting down a controller schematic so that I could make a proper clone. There is a surprising amount of inconsistency among these things online. Thankfully, I was able to find a nes controller scan and a replacement pcb layout which helped a lot. Knowing the basics of the controller functionality, I set off in search of the smallest footprint 4021 shift register available that I felt I could hand solder.
Next was to find some tiny push buttons since i didn’t want to deal with trying to make a bunch of tiny rubber dome buttons like in a normal gamepad. After a little searching, I found some sufficiently tiny ones.
Next was finding some resistors. I found a nice and compact resistor network for the button pull-ups and used some SMD resistors I already had on hand for the latch and clock pull-ups.
The hardest part to find was the NES controller cable. For my NES-chuck project, I just borrowed a cable from another NES controller, but I can only bear to take apart so many vintage controllers. Eventually I found some extension cables on Amazon that I could cut the ends off of guilt free.
The next step was taking the footprints for these parts, putting them into a new pcb layout, and cramming them into a small area. After guessing at a few different optimal placements, I came up with the arrangement seen here. Routing the traces was a bit tricky, but it all fit.
About a month ago, I sent the design off to OSHPark with a silk screen designed by a fellow SkullSpace member. The board arrived a couple weeks ago and I built one up. I was very much expecting my poor SMD soldering skills (evidenced by all the crooked buttons) or my first revision layout would have screwed something up, but to my surprise and delight, it worked right away when I booted up the NES. I even managed to play through the first level of Mario without getting hurt!
I’ve had a few people play with it already and, while everyone agrees that it is cool, they also agree that it is a painful experience. I’m not sure I really expected much more than that though, and honestly it is much more playable than I thought it might be. I’m going to see if I can laser cut a hotel key-card or something to make a bit of a case to reduce the pressure of the tiny buttons.
If you are interested in giving it a spin or want more details on how I did the design, I am organizing an embedded/electronics night at SkullSpace (125 Adelaide) on November 5 to which anyone is welcome. The plan is for me to talk a bit about the project followed by some project working time where everyone can work on their projects together with others interested in similar things. SkullSpace will also have a table at this weekend’s Central Canada Comic-Con and my μJoypad will be on display there too.
This work, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.