Building a MIDI Controller Prototype for Ableton using Arduino

To make my proposed performance, with the Max For Live devices I have created, interactive. I decided that I would create my own MIDI controller that the audience can use to shape the sound of my guitar, by changing the values of the parameters within my plugins. Before jumping into the deep end, I decided I would start small, with a Arduino Uno, a breadboard, wires and 3 10k linear potentiometers.


In the picture above, you can see the final first prototype of a working MIDI Arduino controller using the potentiometers. The controller itself is very simple in both design and functionality, it was a key step into building a multiple purpose controller. The Arduino board itself is not of Arduino brand, but rather Elegoo. However, both the Arduino Uno and the Elegoo Uno are exactly the same in design and usability, as the Uno’s design is open source.

Below is a diagram of how this prototype was wired up.


The orange lines in the diagram, on the left hand side of breadboard, represent the 10k potentiometers. The green lines represent the data lines. The blue lines represent the ground line. Finally, the pink line represents the power lines, which provides the breadboard the power to allow the potentiometers to work.  The green data lines provide the Arduino with the voltage change information from the potentiometers it needs. This information is then in turn interpreted by the Arduino Max For Live plugin that comes with Ableton’s ‘Connection’s Kit’, which allows you to map the Arduino’s analog inputs to Ableton parameters. To make sure that the Arduino communicates correctly with the desktop/laptop it’s connected to, a small protocol called ‘StandardFirmata’. Once this was uploaded to the Arduino, it was ready to use with Ableton. With the Arduino connected and the Max For Live Device open, the potentiometers were able to be used on any parameter they were mapped to.



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s