FabArcade: The Open-Source Retro Video Gaming Arcade

Do you want to really experience playing vintage 80's video games? Got a Fab Lab in your neighborhood? Ready to build something real? Then make a FabArcade!

FabArcade is the first fully open-source video arcade cabinet that can be built completely using digital tools available at any Fab Lab.

It's a fully functioning video arcade that lets you relive those cool retro games from the 80's. Finally play Galaga the way it was meant to be played, with a professional joystick and arcade buttons—even including a real coin slot for US quarters (or whichever currency you prefer)! :) Plus, the FabArcade also runs new retro games we developed for you!

The FabArcade uses

  • a housing built from lasercut MDF sheets that you can cut with a small (60 x 30 cm) lasercutter
  • a Raspberry Pi $25 embedded Linux computer to run the emulators and other software
  • an Arduino microcontroller board with our FabArcade Shield to read the joystick, buttons and coin slot signals
  • MAME and a NeoGeo emulator for vintage 8-bit and 16-bit arcade games
  • the Processing (for our first set of new games developed in 2013) and PyGame (for our new games from 2022) programming environments to run self-developed video games

OK, How Do I Make One?

  1. Order the stuff from the Bill of Materials in our FabArcade Guide
  2. Lasercut and glue the sheets of MDF (wood-like Medium-Density Fiberboard) together to assemble the housing
  3. Mount the screen, speakers, buttons, joysticks, and coin acceptor in the housing
  4. Install our disk image on your Raspberry Pi, and our firmware on your Arduino
  5. Start playing!

For more details, see our FabArcade Guide at the bottom of this page.

Our Games

In 2013, we wrote three arcade games in vintage 80's style using the Processing programming language and IDE:

Two screenshots of our games

In 2022, we added four new retro games written in Python using the PyGame library:

Original Team (2013)

The original FabArcade and games were created by BSc and MSc students from computer science, technical communication, architecture, and education, as part of a practical lab called Multimodal Media Madness at RWTH Aachen University over the course of 8 weeks during the summer of 2013.

  • Idea and lead instructor: Prof. Dr. Jan Borchers
  • Teaching Assistants (PhD students): René Bohne, Simon Voelker
  • Student Assistants perfecting the project afterwards: Anke Brocker, Florian Busch
  • Housing: Marcos De Luis Bolinaga • Max Orth • Anke Brocker • Dominique Bataille • Melike Osmanbeyoglu • Julien Weerasuriya
  • Arduino Controller: Mirko Kugelmeier • Yannick Deuster • Lukas Harke • Sabrina Häfele • Jan Koop
  • Raspberry Pi: Florian Busch • Jennifer Birke • Matthias Diebels
  • Games: Jakob Bauer • Julian Nass • Thomas Conraths • Maximilian Conze • Elmar Weber • Michael Deutschen • Kai Schnackenberg • Jan Bruckner • Roman Feldhoff • Semih Yildirim
  • Coordination: Marten Junga

FabArcade Reloaded Team (2022)

The FabArcade was revisited in a practical course for Master students in Computer Science at RWTH Aachen University, the Media Computing Project (MCP) in the Winter Semester of 2022/23. The Arduino controller was replaced with a more modern Leonardo model, and by posing as a fast USB HID device instead of injecting keystrokes, input latency was reduced to a phenomenal 1 ms, making for much better gameplay. A new menu system was implemented, and four new games were created, this time written in Python using the PyGame library.


Original downloads (2013):

Creative Commons License

The FabArcade design by RWTH Aachen University is distributed under the Creative Commons Attribution—Noncommercial—ShareAlike 3.0 Unported License.

Headphonejack on the side. Turn built in speakers on/off Put your coins here Built in speakers

 Internal Pages (for registered users)

File Description File size Downloads Last modified
FabArcade Doku.pdf   21008 kB 5592 2014-04-01 13:06
FabArcade_LasercutterParts.zip   60 kB 2983 2014-04-01 13:13

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.