Introduction: Arduino Midi-controller With a Twist

Jordan, Ashley, Lothar and I made a unicorn themed midi-controller with sliders, push-buttons and drumpads.

We worked with an Arduino Uno in combination with ableton (live music software).

Of course you can make this midi-controller in wathever theme you'd like!

Step 1: Choose a Theme

So we made a unicorn themed midi-controller, of course you can do that as well. Or even better: you can give your midi-controller wathever theme you'd like! Think of things like christmas, minions or pirates for example. Giving a theme to your controller makes it 10 times more fun and lets it stand out!

Step 2: Gather Together Your Components

This is what you'll need:

electrical components

  • Arduino Uno R3
  • Jumping wires
  • Jumping wires with crocodile clips
  • 3 small breadboards
    (we found it to be easier to work with 3 small breadboards, rather then one large one, to keep overview)
  • 2x Piezzo transducer
  • 4x Slide switch
  • 4x Push-button
  • 4x 10k ohms resistor
    (to be sure, check what the manifacturer of your buttons reccomends, it may be different)
  • 2x 1.5 M ohms resistor
    (to be sure, check what the manifacturer of your piezzos reccomends, it may be different)


  • mdf board
    (or cardboard if you do not plan to lasercut
  • 2x Pringle can lid (to make the drumpads)


  • paint
  • in our case: glitters!!!

(if you plan to solder)

  • soldering wire
  • wires
  • prototype board

=> Please note we didn't include tools in this list!

Step 3: Connect Everything

Follow the plan to connect everything together. The plan shows how we did it but there other possibilities too, depending on the characteristic of your input devices.
=> When you connect your sliders pay attention that you connect al the cables on the same circuit. There is a circuit where the numbers do not have an accent and there is a circuit where the numbers do have an accent. It doesn't matter wich circuit you chose.

Step 4: Connect the Arduino With Ableton

Arduino communicates with max for live (m4l) with ableton. So you'll have to check that m4l is installed in ableton. Normally it's downloaded together with ableton, and this shouldn't be an issue. Then you have to download the m4l device for Arduino and upload the firmata code on to your Arduino.

1.If you don't have ableton yet you can download a trial version here
You can run the trial version for 30 days or indefinitely if you accept not to be able to save any of your work.

2. make sure max for live (m4l) was installed with ableton. This the programming language ableton will be using to communicate with the arduino. Normally this shouldn't be an issue, as it happens automatically when you download ableton.

3. Download the Arduino m4l device and the firmata code here

4. Read the "READ ME" file that is in the link above

5. Upload the firmata code on to your Arduino
if you want to be able to use the Arduino m4l device, you have to upload this code on to your Arduino. This code works with any input devices you would want to connect to your Arduino and doesn't require you to do any coding.
=> Never used an Arduino before, and you have no idea how to do this? Then you should check this video out:

6. Open the arduino device in ableton, you should find it in the left column.

7. test if it works, when you push a button for example, you should see a blue "light" light up next to the port it is connected to. if it's not working, try the following:

  • Check that the port that the Ableton arduino device is listening on is the same as the one your Arduino is connected to. (If you don't know wich port that is, check your port in the Arduino software, in the lower right corner)
  • Try clicking on the lines of the pins your input devices are connected to, they should be orange in order to work.
  • Double check that all your cables are well connected, that you didn't make any mistakes, that no components are dammaged,...

PS: in this video everything is explained step by step and you get the visuals you might need:

Step 5: Cut Out Your Box

We used this web-application to make the baseplan of our box:
Make sure to select the right thickness of your board and to be precise when you mesure your components to determine the size of the holes (bear in mind that a slightly smaller hole is easier to fix then a hole that's to big).
To make the details you can edit the image a vector graphics editor (like adobe illustrator or inkscape).

PS: Don't forget to add a hole for the usb cable!

Step 6: Paint

Paint your wood before you assemble the box. Because of time pressure we couldn't take the risk of doing it in this order, but painting before assembling is way easier and cleaner!

Step 7: Assemble Everything

To make the buttons and sliders fit you might need to sand down the holes (start with some rough sandpaper, p60, and finish of with a smoother one of about p120). Make sure to use the right type of glue (wood glue for example), MDF is wood and is a porous material by consequence. To glue the drumpads we used hot glue, this wasn't ideal.

Step 8: Have Fun and Make Some Music!

And here are some usefull links we used as inspiration:

=> MIDI Arduino Drums:
=> Pringle Can MIDI Drums: