← All projects

Arcade Joystick

The finished arcade joystick controller

Slagcoin joystick layout guide (external link, opens in a new tab) Autodesk Inventor (external link, opens in a new tab) Teensy 2.0 (external link, opens in a new tab) MAME (external link, opens in a new tab)

hardwareelectronicsPCB design

I’ve always wanted to build my own arcade-style joystick controller, so I finally sat down and designed one from scratch, starting with the electronics. I based the button and joystick layout on the excellent reference guides at Slagcoin, and decided to drive everything through a Teensy 2.0 microcontroller, which shows up to a computer as a standard USB HID game controller and works great with MAME and other emulators.

Once the PCB design was finalized, I had it fabricated by Seeed Studio and ordered arcade buttons and a joystick from Arcade Spare Parts. Here’s an early prototype running on the breadboarded PCB:

With the electronics working, I moved on to designing the housing. I wanted something with a trapezoidal profile similar to a classic arcade cabinet control panel, so I modeled it in Autodesk Inventor and had the panels cut on a water jet. Here’s an early test cut of one of the panels:

After test-fitting the panels and mounting the electronics, buttons, and joystick inside the trapezoidal housing, I wired everything up to the PCB and Teensy. The last video below shows the finished controller working with MAME:

This project was a fun excuse to get hands-on practice with PCB design, CAD modeling, and microcontroller firmware all in one build - skills I first started picking up in an EE course I took through MITx.