3D print arcade fight stick controller

3D printing an entire arcade controller frame is completely impractical, especially on today's desktop sized FDM 3D printers. It's slow, prone to warping, and the parts are so large that they have to be split up into multiple prints. Afterwards, everything needs to be fused back together again. Despite all of these potential show-stoppers, there are a lot of unique advantages to 3D printing a large frame like this. Replicating the design for others is simple, provided they have access to a 3D printer. The time to make one is relatively long (24 hours for half the frame so far) but it's much less than the investment of needing a wood shop and learning carpentry skills. Furthermore, if you have experience with 3D software packages you could modify or add to this design. This could lead to community-driven designs; built by the community and for the community. The final argument for going through the trouble of 3D printing an arcade stick is accessibility. Shipping isn't easy and shipping internationally is particularly tricky and often cost prohibitive. Downloading legally obtained files from the internet and printing in your own home simplifies the whole process. It's easier than ever to play arcade games in the comfort of your own home.

3D Printing the parts

Since most consumer desktop 3D printers have small print areas, the controller design was split into multiple parts then fused back together using an ABS + Acetone slurry. The top plate that mounts the electronics, joystick, and buttons is made up of eleven pieces averaging two hours of print time each. Everything was printed in neon yellow ABS plastic with a light infill on an UP Plus 3D printer. Total print time was just under 24 hours but the bottom half still needs to be printed.

Starting from the top right, pieces were printed in a loosely counter-clockwise fashion. While one piece printed, I'd optimize the CAD file and finish designing the subsequent piece. In less than 2 days I had the first revision designed and printed with only a couple minor mistakes. The most tedious part was removing the raft material. Having a well calibrated and level 3D printer goes a long way in saving you effort in removing support material and part quality. One third of the way through, parts were warping significantly enough (~2mm) to warrant recalibrating machine and starting them over.


Assembly was straight forward. I prepared an adhesive paste using discarded 3D printer ABS plastic and acetone. Mixing the 2 ingredients in small resealable mason jars and letting it sit for a few hours creates a slurry that melts ABS plastic. When you sandwich this slurry between two pieces of ABS, the plastic melts together and solidifies when the acetone evaporates. Depending on the amount of acetone and ratio you use, it can take anywhere from a few seconds to a day for it to fully harden again. Therefore, clamping or someway of holding it in place can be useful. It's also very important to do this in a well ventilated area!

I waited until all the pieces had printed before starting assembly. This way I identified and easily made the following modifications before discovering it too late in the process:

  • One part needed 0.5mm sanded off an edge
  • One part had a 1mm gap to account for
  • One part is missing small section of rib which made alignment tricky

These changes have been made and updated into the design already.

The Design

Based off the GameThing Standard controller, the design is a fully featured arcade stick case.

  • Eleven 24mm buttons holes, (eight on top, three on back)
  • Screw hole mount for standard Sanwa JLF joystick
  • Cutout for Neutrik USB passthrough mount
  • Five screw hole patterns for common button encoders
  • Compact and portable 9.75 x 7 x 2.75-inch size

Up until now, I've mostly laser cut my controller designs from MDF, a type of wood composite, and acrylic. This is both faster, more consistent, and up to this point still stronger. Having used these materials for so long means most of the kinks have been worked out and for this initial 3D printed version, I wanted to keep it simple. That's why it's a simple translation of the existing GameThing Standard design into a 3D printable format rather than starting from scratch. I didn't want to reinvent the wheel, rather make a solid foundation I could iterate and learn from.

Combining the once flat laser cut pieces created a single digital part. The design became a lot simpler because most of the fasteners were removed. To optimize print time and material, thicker areas were replaced with thin ribs. Those ribs doubled as support to aid in joining the parts together.

Fastening points were digitally sculpted into the top plate for five different button electronics and I hope to find time to make a carriage for a Raspberry Pi solution soon. The top plate is expandable, much lighter, and simpler overall compared to the laser cut version. It just takes a lot longer to make. 23.25 hours of print time and I haven't started the bottom frame yet. The pictures above show the 3D printed part paired with the corresponding laser cut assembly.

Discussion and Next Steps

Moving forward, I have lots of ideas for what version 2 will be like and I'm really looking forward to incorporate everyone's feedback. Version 2 will be redesigned from scratch. This design was constrained and optimized for laser cutting so the next version will be free to take advantage of 3D printed shapes.

But before that, for the bottom half of the frame, I'm thinking of ways to optimize print time. For example, printing the bottom plate is wasteful. Since it's just a flat piece it's not really necessary. My first arcade controllers had open bottoms, so I think it would be okay to design it in such a way to make the bottom an optional piece, thereby greatly cutting down print time.


Leave your thoughts and requests in a comment below or on our social media: Facebook or Twitter! We have a dream to see our controllers being used at EVO and any support helps share our designs back with the ccommunity!


UPDATE 5/1/2015 2:34PM - CAD for bottom half of frame has been started. Trying to think of a way to aesthetically and functionally cut into pieces to fit on 3D printer platform.

UPDATE 5/2/2015 4:45PM - Finished printing and assembling bottom half. Works! Heavier than expected even though the bottom half took 8 hours less to print. I have lots of ideas for improvements of the next one :)

What are features you'd like to see?

Be sure to shoutout if you try printing it!