Building the Arcade MIDI Controller


Today, we embark on a creative journey into the world of MIDI control, buttons, knobs, and music. Meet the Arcade MIDI Stick, a versatile MIDI controller designed to put the power of music creation at your fingertips. In this blog post, I’ll take you through the journey of creating this unique MIDI controller, providing insights into its design, capabilities, and the technology that brings it to life.

Arcade MIDI Stick

The Inspiration

The Arcade MIDI Stick is not my first foray into MIDI controllers. In fact, it’s the second iteration, built with a deep understanding of the limitations of the first version. I realized that to achieve the level of flexibility and creativity I desired, I needed to rethink the design and leverage the power of the libraries available.

Here are some images from the first version of this project….

Version 1

Version 1 image

Unleashing the Teensy

To create the Arcade MIDI Stick, I opted for the Teensy 2.0++. This tiny powerhouse allows us to connect a matrix of momentary switches, an arcade joystick, LEDs, and potentiometers, turning our controller into a musical instrument with a wide range of capabilities.

Teensy 2.0++

MIDI Magic

The Arcade MIDI Stick is all about controlling MIDI, and it does this exceptionally well. Here’s a breakdown of its key features:

MIDI Channels and Banks

With 16 channels and 16 banks, you can control a vast array of MIDI parameters. Whether it’s tweaking synthesizer parameters or adjusting effects in your DAW, this controller has you covered.

Note Assignments

You can assign notes to buttons according to 16 pre-defined musical scales. Want to change the key while jamming? No problem. The Arcade MIDI Stick lets you transpose scales on the fly, adding a dynamic element to your music.

Octave Selection

Choose the octave you want to play by holding the joystick left while pressing a button. This allows you to navigate through the entire key range effortlessly.

Mode Selector

The joystick’s right position opens up a world of possibilities:

Key Selection

Cycle through 12 keys, with a blinking LED indicating your selection.

Scale Selection

Choose from 17 scales, altering the notes you play and the resulting musical flavor.

Latch Mode

Toggle latch mode on and off to control how the controller sends MIDI information, preventing sudden jumps in values when selecting different banks.

Joystick Sends CC Mode

Toggle this mode to send continuous controller (CC) values. Useful for applications like clip navigation in music production software.


The beauty of the Arcade MIDI Stick is its flexibility. Default settings can be easily changed in the code. Global variables are provided to make editing default values a breeze. This open-source project is designed for enjoyment and creativity, with room for customization to suit your musical needs.


The Arcade MIDI Stick is a testament to the creative possibilities that emerge when technology and artistry collide. It’s a versatile MIDI controller that puts musical exploration at your fingertips. If you’re eager to dive into the world of MIDI control, this project is a fantastic starting point.

Visit the Arcade MIDI Stick GitHub repository to explore the code and documentation. Build your own, experiment, and let your musical creativity flow.

Stay tuned for more creative projects, music, and exploration on my website

Note: The Arcade MIDI Stick is licensed under Creative Commons (NC), which means it’s intended for non-commercial use. For commercial use, please refer to the Creative Commons license.

Thank you for joining me on this journey, and may your creative endeavors be as limitless as the music you create.