SNES gamepad coversion to USB

[Kekszumquadrat] wanted to use a classic controller to play emulator games on his Android tablet so he set out to convert an SNES gamepad to connect via USB. He found an old USB keyboard at a yard sale for about 3 Euros. He knew that the emulator he prefers has the option of remapping all the inputs to keyboard keys which means a USB keyboard has all of the electronics he would need to pull this off.

Once he had separated the keyboard circuitry from the case [Kekszumquadrat] plugged it into his Linux box and used Xev to establish how the keyboard matrix is set up. Xev is a common package that opens up an active window on the X desktop. When run from command line, any events that happen to the window will be echoed along with verbose data about that event. When it comes to keypresses, you’ll get the keycode you need. He simply shorted columns and rows until he found the desired mapping, then it was on to soldering.

The SNES controllers are very simple devices. As we’ve seen with previous projects, they use a serial-to-parallel shift register to gather button data and send it to the console. [Kekszumquadrat] simply soldered between button traces and keyboard matrix contacts. Once he finished, the keyboard parts were tucked inside of the controller case and he’s left with a USB controller that appears to be unaltered.

Comments

  1. draft says:

    Okay.. cool. No link or even a video?
    I have an Archos 43 and would love to do this; I just need to find a USB host cable.

  2. Marf says:

    I wonder if this project will work on Nook Android hybrids

    • JamieWho says:

      I have the same question. I’m trying to find a reason to keep the Nook.
      Anyone interested in purchasing a barely used Nook, with CM7 on it?

    • Joe says:

      It appears to be a common USB keyboard chip which has drivers on pretty much anything with USB. Try plugging 2 USB keyboards into one computer and you’ll notice that both work. This means you can use the normal keyboard and more than one gamepad! You just have to solder the 2 gamepads differently. I’m not sure if the tablet will do this, though, even with a hub.

      I have USB adapters for our Playstation controllers and they’re also pretty good for playing Super NES games on. Putting the keyboard’s logic board inside a game controller itself is great, though – One less adapter to mess with! It is very portable which makes sense for the application.

  3. Paul Potter says:

    Very nicely done.

  4. austinmarton says:
  5. Paul Klemstine says:

    That is a nice piece of work. Good job!

  6. Quin says:

    And a good choice of a game to test it with.

  7. Ricardo says:

    serial-to-parallel or parallel-to-serial shift register?

  8. CrossDraw says:

    Nice, Esp. since they used knock off controllers rather than ruining working genuine ones…

    • RunnerPack says:

      What makes you think that? It looks like the genuine article to me, and there was no mention in the write-up about which brand was used. In any case, a “genuine” controller being used for its intended purpose isn’t “ruined”.

      • RunnerPack says:

        Oops, I just read the article a bit closer. From the first paragraph (emphasis mine and sic):

        “So I figuered I could easily put the controllerboard of a usb keyboard inside the spare original SNES gamepad i had liying around.”

  9. Fred says:

    That… That’s Chrono Trigger! I don’t have an Android tablet yet, which emulator are you using?

  10. rasz says:

    good job, this is the smart way of going about it.
    Im happy its not one of those “hey i almost fitted Arduino and 2 shields in my pad so i can make it USB”

    • Caleb says:

      Agreed. Arduinos do have their place but they have been way overused in the hacking community. I love the way this was two working products smashed together with the aid of a soldering iron to produce something as awesome as this! Great job mate!

  11. hellfyr says:

    Does the summary not include a link other than one listing previous HaD projects? I am interested in doing this myself

  12. hellfyr says:

    Please don’t approve my previous post.. not sure why it required moderation.. but..

    I would like to see more information on this project as I would like to do the same myself. Good job Kekszumquadrat!

  13. Thanks for the heads up!

    unfortunately there’s no link to my original post, so here it is:

    http://fomori.org/blog/blog/2011/09/24/building-a-super-nintendo-usb-gamepad-for-android-tablets/

    I think my writeup is the more important part, since I’m not the only one to have done this hack.

  14. FTWinston says:

    I imagine the android tablet has been booted in USB host mode, in order to work with a keyboard?

  15. Mike says:

    A classic controller comes from an Atari 2600. Nintendo was the first to kill the classic with its gay pad-style controller that everyone emulates nowadays.

    • Joe says:

      If I want one of those, I’ll go for a real analog stick like the XBox or one designed for the PC. And it was essentially an digital pad just like the NES but with a knob instead of a D-pad. At least Nintendo didn’t have the “oops accidentally pressed Down/left instead of just down” issues of a Sega Genesis pad. By the way, the Genesis used the Atari 2600 interface with the old resistor trick to gain extra buttons. But I’m sure you knew that if you played both, hehe.

  16. Ben says:

    The snes controller to USB sounds awesome…. Can you sell me one?

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

Follow

Get every new post delivered to your Inbox.

Join 96,369 other followers