Open Source makes this USB arcade controller build a breeze

[Jamie] built his own USB connected arcade controller. We’ve been seeing a lot of these lately, and they usually involve soldering buttons to a keyboard PCB. But [Jamie] decided to go a different route and use his own microcontroller. This method always gets a bit hairy when it comes to deciding how to connect it to a computer. Dealing with the USB stack used to be quite tricky, but the LUFA project is slowly taking the pain out of the process.

The Lightweight USB Framework for AVRs is an open source project that handles the hard work associated with USB capable AVR microcontrollers. [Jamie] knew that they already had a sample implementation of a hardware joystick. He’s not using one of the supported boards and so wasn’t able to just compile and go. But porting the code to work with his minimus board was simple enough. With the code in place, the physical build was quite simple. The buttons and joystick were mounted on the surface of an overturned drawer. Each is connected to one pin of the controller board and to ground. LUFA makes sure that the device enumerates as a joystick, and [Jamie] was gaming in no time.


  1. Zack C says:

    My only suggestion would be to lay out the buttons in a more ergonomic fashion. Other then that this looks like an excellent alternative to hacking a keyboard for a mame cabinet controller and probably a bit cheaper too.

  2. Marko says:

    LUFA and the USB AVRs are great, I love that LUFA is open. I use the virtual serial bit in programs all the time, and the microcontroller is cheaper than a bloody ftdi chip. :)

  3. Mental2k says:

    I’m in the middle of doing the same thing. Also with a minimus. I’m doing it as a custom HID keyboard, with 20-key rollover. 10 times better than hacking a keyboard. No need to worry about key blocking for larger button layouts!

  4. Dude says:

    What does LUFA offer over V-USB?

  5. Anonyminimus says:

    Top-drawer stuff, this.

  6. Nardella says:

    Is this not what a Teensy was intended for?

    • Sam says:

      Perhaps, but Teensy is not open source, which is a problem for some.

    • Jamie says:

      The smaller Teensy is basically identical to the Minimus, ~same breakout circuit, ~same processor.
      However, the Minimus is pre-programmed with AVR’s default bootloader, which is nicely supported under linux. Teensy looks like it uses a proprietary bootloader / uploading code. It’s also a lot easier to get hold of in the UK.

  7. Piku says:

    You can buy purpose made interfaces to do this, they’re popular when making MAME cabinets and controllers.

    Save yourself a few days and buy this kind of thing

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 97,790 other followers