Custom NES Controller

Mission

I recently found myself with a surplus of Adafruit Industries components, I decided to put a few of them to good use by making a custom NES controller.

Objectives

  • Use a thru-hole 5-way navigation switch.
  • Use some square tactile buttons.
  • Create a custom Eagle device for the navigation switch.
  • Use a strip of SMD 0603 10k resistors.
  • Use a single-sided 65×65 MM square board (since I have a bunch of them).

Design

The design is fairly simple, the only difference between it and a standard controller would be the use of the Center pin on the navigation switch as the Select button.

NES Controller Diagram

PCB

I had to resort to using quite a lot of jumper wires since the board is pretty small, it should also work fine on a double sided board (just not very efficiently).

NES Controller PCB Replace the bottom layer (blue lines) with jumper wire.

Results

The controller works great! Though it could use some routing to make it more comfortable.

Front Back – Start Button

Back Front

In Action Use

About the author : gamaral

Incredibly handsome open-source software engineer, gamedev and trekkie. I also draw comics in my spare time; they aren't very popular.

View all articles

5 comments

  1. Pingback: Custom NES Controller — As Seen on Adafruit Show & Tell! « adafruit industries blog

  2. Pingback: DIY NES controller makes no changes to the design | Daily IT News on it news..it news..

  3. Gert

    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.

  4. mike

    Any way you could give me a higher resolution pic of the schematic, i can’t read which pins are start and select and what not. thank you in advance, Mike

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>