Arcade controller in a box

[Alex] wanted to play video games with an arcade stick and buttons, but got sticker shock after seeing the price of commercially available controllers that connect to a computer via USB. He set out to build his own and ended up with the controller-in-a box that you see above.

At first he tried using an mbed microcontroller board but was unhappy with the latency built into the system that detected a button press, sent it via USB as a keyboard press, which was then interpreted as input by the game. He ditched the microcontroller completely and picked up a couple of 4021 parallel-to-serial shift registers. He had previously used this method to make his own SNES controller. The SNES uses two 8-bit shift registers to generate an 16-bit serial packet to send to the console. [Alex's] reused that system, adding an SNES controller plug to his arcade box, and using the SNES to USB converter he already had to connect to the computer. Now he’s got a portable controller for the cost of three buttons, the stick, and two IC’s.

He explains the project himself in the clip after the break.


  1. DanAdamKOF says:

    I built an arcade supergun in a tupperware controller years ago :) link here if anyone wants to see it:!%29-FS-T-SuperGun-w-SVC-Chaos-Yes-it-s-the-Tuppergun

  2. Piku says:

    I built one out of wood, controllers from Happ Controls and an ‘iPac’ board.

    Then ten years later I took it all to bits and used most of it to improve a JAMMA cab I now own that has some sort of crazy modified PC inside it.

  3. Haku says:

    That’s a Really Useful Box!

    I haven’t played on a proper old-school arcade machine with microswitch buttons in many many years, control pads have taken over the world and it’s understandable to see why when you count the number of buttons & sticks an average pad has to control the modern day games.

  4. Aleks Clark says:

    Um, latency? What? You’ve still got a USB connection in there, and detecting the controller movement should be the work of nanoseconds for a microcontroller…unless of course your debounce routine takes 100ms :P

  5. Is Mr. Clark voluntering to write the code? Please post!

  6. Tel says:

    I work as a tech at a Boomer’s Arcade, and have access to all sorts of arcade game stuff, from buttons to joysticks and everything inbetween. When ever they decommission a cabinet, if the stuff is over 10 years old or useless in something else (like, the buttons we had in Dynamite Cop – for instance – don’t fit many of the sockets we have on other games correctly) the staff gets free grabs on it.
    That being said, I think the next time we send a game to the graveyard, I’m going to put one of these together!

  7. Hackerspacer says:

    Tupperware doesn’t seem to be all that sturdy?

    • Hitek146 says:

      Yea, that’s what I was thinking. These projects are fun, though, as we are lucky enough to have Happ Controls sell us their quality parts without much markup, and these things are a blast to play on. It just seems like he could have done better than a flimsy plastic enclosure that is also a little too small, considering the extent to which he went to get this working with a microcontroller. The last one of these I built(with Playstation logic, 6 buttons, and a PS to USB adapter) I put into wooden enclosure with a 18″x8″x0.75″ top and bottom, and sides made of an 8″ length of 2″x12″ that I ripped down the center at a 15 degree angle. Took 10 minutes, had good weight to it(without being too heavy), and resembled the size and shape of an actual arcade control panel. Wish I had photos…

      Anyhow, great project, and props for at least attempting to use a microcontroller, but still being able to pull it off with discrete logic… :)

    • Haku says:

      That’s not your average tupperware box, it’s a Really Useful Box. I have a stack of the 3 litre ones and they are very sturdy, their only letdown is they could’ve made better carry handles.

  8. NewCommenter1283 says:

    #1) i love the box and the joystick and the switches

    #2) but i dont see how this is uC-less. maybe im just clueless, but he used a uC-project he already had. on hand right?

    “using the SNES to USB converter” … equates to: used a uC to convert the signals.

    but still, great job! & using a sNES connector makes the usb-BS (think drivers) the users’s problem, for which they ALREADY have the users manual and CD!

    speaking of which, i wonder if

    could help me make a NEStoPC adapter without wasting my valuable serial port or my valuable usbserial port…

    theregoes my idea. oh well, as long as i have my OWN software that i OWN(made), im good
    PS: already have cheating combo-moves in DOOM/SKULLTAG FTW!

    • NewCommenter1283 says:

      i know its offtopic but to all those haters back then about the HAD article on using an IDE port to program an AVR,,, you haters say it is so religiously immoral to use an IDE port for programming an AVR… its called a hobby, get over to it.

      apparently your hobby is commenting on websites that you have no buisness reading seeing as you only want to discourage people from having FUN with used electronic parts that were free, well, at least the non-AVR parts.

      go back to ****** and **** your ***** because:
      WE WILL NOT STOP when you tell us to!

      @STAFF please please PLEASE for the sake of this falling-apart community, if someone says its imoral or threatens death because someone had fun learning electronics using free off-the-curb parts, BAN THEM! this website is called Hack.A.Day. !!!

  9. macsboost says:

    one, you cut a hole in the box
    two, you put your disk in the box
    three, you make her open the box
    and thats the way you do it!

  10. Steve0 says:

    Spoofing a keyboard button press over USB shouldn’t have any more latency than emulating an SNES controller and sending it over USB. Was the code for the mbed poorly written, or am I missing something?

    • NewCommenter1283 says:

      PS: usb-keyboards have a maximum number of keys that can be held down, which makes them usless for holding jump in doom/skulltag with the rga2 addonpak, aka u cant hold jump and fire and strafe, and sideways(to strafe) and then ontop of that press reload… usb keyboards were anti-gaming from the get-go, according to the specifications (max buttons). ive never owned or borrowed a USB-keyboard, PS/2 clean&reassemble FTW aka free+nosteal

      • NewCommenter1283 says:

        PPS: does anyone here actually know that windowsXP(pro) lets you use a (hardwareonly?) serial port to send in keyboard commands? its called serialkeys and its under accessability options… and its not limited by the number of simultaneous holding-down-of-keys… in case anyone didnt know and had already pulled their hair out trying to UNDERSTAND usb (in windows xp(pro))

        dont let them(USB) bully you, you have options

      • Geirskogul says:

        Most good USB keyboards nowadays don’t have a maximum button press issue – look at Das Keyboard etc etc. Your information was relevant a decade ago, but not now.

  11. z says:

    I’ve made these with parts from Happ in a solid oak box (painted lacquer black). I like to use cheap controller. Wire the microswitches on the buttons and stick to the controller PCB contacts. We used o throw the crappiest $5 controller in there, and it worked like a dream.

    I used to like to use PSX controllers, since they were adaptable to just about any other platform.

    • JamieWho says:

      I’m doing something very similar at home right now. I plan on using my original xbox in a mini-arcade cabinet for my kids to play. I bought a used original xbox controller for $7 last weekend and I’m ordering the stick and buttons soon. I plan on tying the stick and buttons in to the pads on the xbox controller and then just plugging the controller into the port on the xbox.
      Mine will probably be mounted in MDF and not oak though. Sill painted black of course. :)

      Also, I hacked the xbox so I can also play emulators on it in addition to original xbox games.

  12. Farkanoid says:

    Heh we did this on the Amiga with shoe boxes and duct tape 20 years ago!

    We used to cut off the end of a cheapshit 9pin joystick, start a game like rainbow islands, and tap each wire to ground through a resistor to see how the character reacts

    “Okay yellow wire is up, green wire is down, blue wire is left”, etc. Nostalgia :(

  13. ftorama says:

    I did a Genesis pad to USB converter with a Teensy++ and didn’t meet serious latency problems but perhaps I’m not a good player lol.

    As Teensy virtual keyboard driver has a 6 simultaneous key limitation, I used the virtaul joystick emulation.

  14. DanAdamKOF says:

    To those of you doubting the durability of a tupperware controller, I want to mention that I built a beatmania IIDX controller out of cardboard about a year ago, and it has held up fine.

    You can see it here: (controller visible at the end)

Leave a Reply

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

You are commenting using your 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


Get every new post delivered to your Inbox.

Join 96,687 other followers