DIY NES Controller Makes No Changes To The Design

We like this project for its sheer simplicity. After all, recreating the hardware in the controller for a modern gaming system is next to impossible. [Guillermo A. Amaral B.] had a bunch of parts sitting around and decided to try his hand at recreating an original Nintendo Entertainment System controller.

If you’re not familiar with the electronics inside this brand of retro gaming hardware you might be surprised to find that there’s barely any logic hardware at all. The chip in the middle of the board is a 4021 parallel to serial shift register. It connects to the buttons and uses the clock signal coming through the cable to pulse out the button states over a serial wire. So all that [Guillermo] did was lay out the chip with connects for each button.

In the image above his thumb is obscuring the 5-way switch used for directional control and select (center click). The yellow and green buttons serve as A and B, with the start button on the opposite side of the board due to a mistake in his board layout. He does have some future plans for this. He’s working on a Raspberry Pi project that will monitor and record the controller serial data so that you can play it back. It sounds like a player piano for video games.

Want to see a really small version of this? The same hardware in a smaller package was put together a couple of months ago to build the world’s smallest NES controller.

[via Adafruit]

9 thoughts on “DIY NES Controller Makes No Changes To The Design

      1. I use NES and SNES controllers for so many projects. Had to build a few myself. They are just SO simple to work with. My remote controll lawnmower and a few other projects rely on them.

  1. The simplicity is the wonderfull thing about the NES controller. Not only is it easy to recreate, but it’s also possible to do all sorts of other hacks with it. All you need is a latch signal, and then you just synchronously clock out the 8 key states.

    For example, once I made an adapter that connected the NES controller to the Keyboard port of the PC/XT. All I had to do was to find a way to generate a startbit and the latch signal.

  2. I’m trying to build something almost alike. Arduino->4021->NES.
    I’m just look at NES video’s and time every buttonpress and then program it. It’s a lot of work considering the recorded footage can lose miliseconds after a while and there’s a difference between PAL and NTSC. His way, record buttonpresses and finetune them later, sounds a lot better. Great stuff.

Leave a Reply to Guillermo A. Amaral (@gamaral)Cancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.