The smallest NES controller ever

A few months ago, [Ben] saw a video of the world’s largest NES controller. “I bet I could make the smallest,” he thought in a strange game of one-upmanship. Now [Ben] has the smallest fully functional NES compatible controller, a feat of engineering that can only end in very, very sore thumbs.

The old NES controller is a very simple device: eight buttons are connected directly to a 4021 shift register. Every time the NES is looking for a change in input, it reads out the data in the shift register and gets the status of all the buttons.

After finding the  smallest footprint 4021 shift register he thought he could solder, [Ben] found some very small SMD push buttons and a very tiny resistor network for the pull ups. The result is tiny, and thanks to the sacrifices of a few NES controller extension cables he found on Amazon, 100% compatible with his old NES.

You can grab all the schematics over on [Ben]’s git. Tip ‘o the hat to [Troy] for sending this one in.

24 thoughts on “The smallest NES controller ever

  1. The first controller that did away with the joystick and made everybody left handed. Cheap! I have played one of these less than 5 minutes and just put it down, never to look at one again.
    Hack up an ergonomic one with a stick and immobile base. Yeah.

  2. The NES controller is a well thought-out minimalistic user interface. Change one parameter (like the size) and it becomes obvious why they made hat specific design decision.

    1. It is from the “make everything gray and square” era of electronics though. Subsequent controllers at least have rounded edges. I remember getting red “V” shapes on my hands after holding that damn NES controller for too long.

    2. Which is funny, compared with the Wiimote. While I feel that the wiimote was a great combination of existing tech into a unique pointing device, the ergonomics are really bad. (I’ve always thought the N64 was horrible too, but others have said it has great ergonomics. Maybe it would if you have three hands instead of two :o )

      After just a short time of playing Super Mario Galaxy or another ‘point’ game, the wrist gets tired from having to hold the controller at an awful angle. A rotated hand posture like a pistol grip or a fishing pole would have been a better choice, with buttons for each fingertip and several thumb buttons…

      Damn… now I have ANOTHER project to work on -.-

      1. Oh, and it would have been smart to expose all the button presses available on the main controller in the nunchuck port. I googled around a while back, but couldn’t find a way to send A/B/1/2/-/+/home through the nunchuck port. That would have made peripherals and accessability for disabled much simpler.

        1. @andar_b Though it doesn’t give all the button presses, check out the Nyko Wand. You’ll get the A & B buttons exposed, they did it for some of their accessories, like a pistol grip.

      2. Nevermind, now I feel like a derp, I thought the classic controller used the GC port but apparently it communicates ove I2C like the nunchuck. Now I want to hack one of my pistol grips to break out the buttons onto the grip.

      3. Why expose the button presses on the main controller? Nintendo didn’t design the MAIN controller to be hacked by hackers so there’s no compelling reason or incentive for them to make it easy.

        Even from a design standpoint, why? It’s the master in the i2c hierarchy. Whenever I build any master/slave system, none of my masters ever tell my slaves what the master is doing. Why should it?

  3. on the one hand, i feel like this is quite an accomplishment. its funny, a first, AND functional. way to go! :)

    on the other hand, carparl tunnel syndrome is actually eaiser to get then u might think…

    personally i’d never goten it from a keyboard,(well, not in the pain-for-days way) but, i HAVE goten it from an NES controller…
    the NORMAL SIZE ones! lol

    1. There is a bit of hand cramping, but what is worse is the pressure from the tiny little B button when you have to hold it to make Mario run.

    1. The soldering is ridiculously easy when you have a proper board with solder mask and tinned surfaces.

      I have made a couple of blinky badge kits with 0603 components as well as some other kits, and people with virtually no soldering experience can easily solder one of those kits with very little assistance.

      The only things remotely hard to solder on that NES board are the buttons since they will melt and break if heated for too long. The TSOP chip is easily soldered with proper equipment, especially if you use a little extra flux.

    2. Soldering details: BE VERY CAREFUL! :)

      Seriously though, I watched a video on SMD soldering (I think by CuriousInventor) and then just went to it. The pads for the buttons were way too small, but I just tinned the pads lightly, tacked the buttons down, and added more solder. The button above the resistor network was probably the toughest.

      I’ve thought about a case, but I’m not really sure the best way to things, especially the button caps and d-pad. Plus, adding a case would make it too big. :)

      1. Cut some pieces of plastic and carefully super glue them to the tops of the switches.

        At that scale, a hole punch should make discs the right size out of an old credit card or similar card.

  4. Needless to say, SWEET! I notice he’s got the Open Hardware logo silkscreened on the PCB – first time I think I’ve seen anyone actually use it in their project.

  5. What a horrible solder job, the guy has no skills whatsoever.
    Looks like i dit it myself :)

    Love the Idea, nice execution.

  6. I want to see a picture of the controller next to a NES controller and an Zbox one just for the massive OMG factor of how small it is. I think one would have better luck useing it if the thing was glued to a quarter just to give your hands something to get a little purchase on =P awsome build!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s