Build an Arduino powered MIDI Controller

During quarantine/self-isolation I discovered a new hobby: Arduino! Mixing this new hobby with music originated this project!

Jun 28, 2020

19137 views

6 respects

Components and supplies

1

Sliding potentiometer

2

Arcade push buttons

1

Arduino UNO

1

Pot knob potentiometer

Tools and machines

1

Solder Flux, Soldering

1

Solder Wire, Lead Free

1

Soldering Station, 110 V

1

Drill / Driver, 20V

Apps and platforms

1

Arduino IDE

Project description

Code

MIDI_Controller.ino

arduino

You will need three pieces of software in order to be able to make music with your Arduino. First, you need to download the Arduino IDE software to start writing your own code and upload sketches to the Arduino board. Secondly, you need to download the LoopMidi software which is essentially a virtual midi cable. Finally, to send your midi serial data to the LoopMidi software you will need the Hairless Midi to Serial Bridge software. This software is great to let you know if your wiring is correct because you can see the data flux exchanged between the MIDI Controller and the Hairless Midi Serial. First step is opening the Arduino software and the code I am attaching to this Instructable (called MIDI_Controller). Credits are given to the Author Michael Balzer. You should not need to modify the code. Just verify the sketch which is kind of like a "debug" and when you get the message that the compilation is complete you can send it to the Arduino board. Then head to the LoopMidi and chose a new port name. Once you chose one just press the plus button which will create the new port. After this step open the Hairless Midi Serial Bridge and start by selecting the MIDI In port that you have just created. Then select the same MIDI Out port. Finally chose the serial port of your computer (usually COM#). Congratulations, you have just enabled your MIDI Controller to communicate with the computer!

Downloadable files

Enclosure sketch

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.

Enclosure sketch

Circuit schematics ( Illustrative version )

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.

Circuit schematics ( Illustrative version )

Online sketch

This was my first test. It is pretty visual but not so practical so I decided to put it into paper.

Online sketch

Circuit schematics ( Illustrative version )

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.

Circuit schematics ( Illustrative version )

Online sketch

This was my first test. It is pretty visual but not so practical so I decided to put it into paper.

Online sketch

Enclosure sketch

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.

Enclosure sketch

Documentation

Interface and enclosure

I decided to go with a traditional way and built a wooden enclosure. This was my Covid-19 self-isolation project and I did not have other resources than wood to build the enclosure because everything was closed. Anyways, I am very happy with the final result!

Interface and enclosure

Interface and enclosure

I decided to go with a traditional way and built a wooden enclosure. This was my Covid-19 self-isolation project and I did not have other resources than wood to build the enclosure because everything was closed. Anyways, I am very happy with the final result!

Interface and enclosure

Comments

Only logged in users can leave comments

daniferreira27

0 Followers

0 Projects

6

0