Skip to content

Bluetooth Arcade Controller

Introduction :: Demo Unit :: Features :: PCB Assembly :: Control Panel Assembly :: Software :: Licensing :: Purchase



The Bluetooth Arcade Controller (BTAC) is an easy way to convert your Arduino Mega into a Bluetooth keyboard, to connect to a computer, smartphone, or tablet computer. It was featured in an article in Make Magazine Volume 28! More information at the Make: Projects webpage.

Demo Unit

Here’s a little demonstration unit we built and showed at the 2011 World Maker Faire NYC. More photos available in the Flickr stream.

Bluetooth Arcade Controller demo unit
Bluetooth Arcade Controller demo unit


  • Easy to assemble kit only requires basic soldering of a few simple components. Most of the parts are pre-soldered.
  • Fully open-source design means that everything is freely available and ready to be hacked, including the circuit schematic, circuit board layout, parts list, and Arduino sketches.
  • Multi-keypress support lets you connect up to 52 buttons or joystick switches, with support for multiple concurrent button presses.
  • Ultra-flexible Bluetooth module can be reconfigured to support almost all Bluetooth profiles, like keyboard, mouse, and even wireless serial port.
  • Custom, professionally-made PCB provides easy connections to all buttons and the Arduino Mega, and has been specially designed to work in two configurations, either normal or upside-down.

PCB Assembly

Most of the soldering is already finished for the Bluetooth Arcade Controller (BTAC), but you will need a soldering iron and solder to finish soldering the kit. The header pins to connect the shield to the Arduino need to be soldered in. To do this, break the headers into pieces of the proper length for the various groups of headers on the Arduino Mega. Stick the pins into the Arduino first, then set the BTAC shield down over top of all the header pins. Solder them all in, making sure that the shield lies flat on top of the Arduino.

Next, you need to decide how you want to mount the BTAC shield and Arduino to your arcade controller. This decision determines if you mount the buttons on the bottom or top of the BTAC circuit board. If you want to keep your Mega removable so you can use it in other projects too, you can mount the shield to your arcade controller and put the buttons on the bottom of the PCB. If you don’t care about keeping your mega removable, then you can mount the Mega to the arcade controller directly and put the buttons on top of the BTAC. You also can choose not to solder in the pushbuttons, as they are only used to reset the Arduino, and to help initiate pairing if something goes terribly wrong. In the current version of the software, however, the pair button doesn’t do anything yet

Control Panel Assembly

The design of your control panel is all up to you. You can connect any sort of button, switch, or joystick to the BTAC shield, as long as the joystick is a switch-based joystick (on/off) and not a potentiometer-based joystick (proportional control). If you want to use the LED effects you can connect the leds to the BTAC shield. Here’s a generic system-level diagram showing the connections between the BTAC shield, joysticks and buttons, and LEDs.

Bluetooth Arcade Controller system-level diagramClick to enlarge.


The software for the Bluetooth Arcade Controller consists solely of an Arduino sketch that reads the joystick and button presses, and interfaces with the on-board Bluetooth module. The mapping between specific buttons and the keycode to transmit is handled by the sketch code.

We are planning to release additional sketches in the next few months. Some possible avenues of exploration could include:

  • Code that is customized to work with specific game emulators
  • Customized to work with Apple’s iOS devices or specific iOS games
  • Enhanced to work around the six-concurrent-keypress limit

You can download the arduino sketches from the Wayne and Layne Github repository.


The Bluetooth Arcade Controller shield was developed with Kicad, an open source electronic design suite. It is available for Windows, Linux, and OS X.

Both the original plaintext design files for KiCad, as well as the production-ready gerber files, are available for download from the Wayne and Layne Github repository


We consider the Bluetooth Arcade Controller to be open source hardware. All files are licensed Creative Commons Attribution-Share Alike 3.0, except the firmware which is licensed under the GNU Public License (GPL).

For the Creative Commons files, this means you may copy, distribute, and display them (and any modifications or “derivative works” you make) if you give credit to Wayne and Layne, LLC, link back to this website, and you must also license any modifications or derivative works under this exact same Creative Commons Attribution-Share Alike 3.0 License.

There are similar rights granted by the GPL, but attribution is not required. It’s appreciated, though!

This software is licensed under the CC-GNU GPL version 2.0 or later
Creative Commons BY-SA 3.0
Bluetooth Arcade Controller by Wayne and Layne, LLC, is licensed under a Creative Commons Attribution-Share Alike 3.0 License.

Different licensing may be available. Contact us for more information.


The Bluetooth Arcade Controller kit has been retired, since the Adafruit Bluefruit is a much better and cheaper solution in every way. More details here: What’s up with the Bluetooth Arcade Controller?