Build a MIDI Controller with Arduino

Hi everyone! In this article I will drive you through how to build your own Arduino powered MIDI controller. MIDI stands for Musical Instrument Digital Interface and it is a protocol that allows computers, musical instruments and other hardware to communicate. If you follow each and every step of this tutorial you will be able to make music with an Arduino!

What you are going to learn from this article:

  1. Chose the right components for this project.
  2. Sketch an interface with the right dimensions and build it.
  3. Read the circuit schematics and connect/solder every component to the Arduino.
  4. Chose the right software to connect the MIDI Controller with the DAW you are using.
  5. Maping the MIDI Controller.



Make sure you watch the video because it´s more illustrative. Subscribe to my Youtube channel so you don´t miss out on new project and to help me grow!


Step 1: Gather all the material

Here is a list of the material and tools we need to complete this project:

1 x Arduino Uno Starter Kit

12 x Arcade Push Buttons

4 x Pot Knob Potenciometer

2 x Sliding Potenciometer

Material to build the case ( I decided to build a wooden case )

I chose the Arduino Starter Kit because this kit provides a lot of useful material for this project such as resistors and all the wiring and connectors. Also, if you are a begginer like me, other material with this kit can help you getting started with electronics

I bought the Arcade Buttons from the link above but if I were to buy again, I would buy THESE BUTTONS instead because I wanted to give a pattern to the interface and it was impossible with single colored buttons so I had to paint them.

Tools you will need:

  • Hobby file
  • Sand paper
  • Screw driver
  • X-acto knife
  • Caliper
  • Ruler
  • Wood bits
  • Spade bit
  • Jumper wires
  • Insulation tape
  • Varnish
  • Paint
  • Wire stripper
  • Wire cutter
  • Saw
  • Power drill
  • Mini Axe Saw
  • Dremel
  • Super glue
  • Soldering Iron
  • Solder
  • Soldering paste

You can check the pictures for more details.


 Step 2: Sketching and Building the Interface

I highly recommend sketching your interface so you are sure of the dimensions you need to build the case.

I projected my interface on a A4 sheet, using a pencil a ruler and a compass. You can see the result in the picture below. By sketching the interface, you get to know the dimensions you need to install all the components. My Push Buttons have a 29.7mm diameter so I am going to drill a 30mm hole to install it. Every hole is spaced by 10mm. Basically each circle center is spaced by 40mm (diameter = 30 + space = 10).

Pot Knobs have a 10mm diameter. It is recommended to drill with increasing diameter bits to make sure not to crack the wood. I also left a 10mm space between buttons and pot knob potentiometers.

And finally, the sliding potentiometers. From the data sheet I know their travelling distance is about 80mm. You should use a Dremel to open the slots to fit in the sliding potentiometers, a.k.a. FADERS. If you don´t have this specific tool you can always do it as I show on the video. Think about a slot with 80mm length and 3mm wide.

This was my COVID-19 quarantines project. I was determined to find a productive way to spend my time and the Arduino that was left in a drawer came to mind. I went to my local store to buy wood to make the enclosure and as I bought it I was told they weren´t cutting wood because of the lack of personnel and due to this whole self-isolating/lockdown. So, I decided to buy the wood and cut it at home with the material I had available.

After removing the splinters with sand paper and preparing the surface I applied varnish paint. Two coating were applied. After I chose a color to paint the enclosure. You can check the pictures to see the result!



 Step 3: Circuit Diagram and Connections

 I decided to Illustrate the circuit diagram instead of drawing the conventional circuit diagram because it can get very confusing. I used several colors to separate jumper wires so you can understand where each wire belongs.

The chip used on the Arduino contains internal pull-up resistors, so there´s no need to wire resistors for each of the arcade buttons. This greatly simplifies the controller wiring.

All we need to do is choosing one leg of the Arcade Buttons to be the ground, the other will be power, which will be connected to one of the digital inputs on the Arduino board.

Faders have three legs, the first one (counting from the bottom) is the ground (-), second is power (+) and the third one is the signal.

For the Pot knob potentiometers its the following: left leg is ground (-), middle leg is the signal and right leg will be power (+).

The Arduino is going to be the brain of the MIDI Controller. It is going to send MIDI instructions to the software, depending on the button pushing input.

The interior is going to get very messing because of all the wires, I would advice you to structure the soldering process. For example, I decided to solder all the ground wires first, the power and finally I soldered the signal jumper wires.

After soldering and connecting all the pins to the Arduino board, we can close the enclosure. Have a look at the pictures to see the final outcome!

Build a MIDI Controller with Arduino
EasyController – By 42Percent Noir