Introduction: Arduino Based MIDI Fighter(Touch Sensitive)

MIDI stands for Musical Instrument Digital Interface. Here, we are making a touch sensitive MIDI fighter.

It has 16 pads. these can be increased or decreased. Here I have used 16 because of the limited arduino pins.

Also I have used analog input pins (A0,A1,A2,A3,A4) as digital input.

This is my first instructable. So pardon me for any mistakes. I haven't thought of making a instructable earlier.

so I don't have much detailed photos of that.

There is a working video of the MIDI I have selected guitar in sounds in the ableton live 9 software in the video.

Step 1: Collecting Required Materials

Things you will need are:

  1. Arduino uno R3 (1 unit)
  2. 1Mohm resistances (16 units)
  3. General purpose arduino shield (1 unit)
  4. Aluminum foil
  5. Plastic/acrylic sheet (for outer body)
  6. Potentiometer (1 unit)
  7. wires
  8. Black tape

Tools used are:

  1. Drill
  2. Cutting tool
  3. Soldering iron
  4. Hot Glue

These are the supplies required for making the MIDI fighter. I have a General purpose arduino shield for resistances.

but You can use a general purpose pcb.

Step 2: Making the Outer Body

For making the outer body, You will need plastic sheet.

cut the sheet in the given size:

top and bottom (200mm x 200mm)

for 4 sides (200mm x 40mm)

now cut 16 holes on the top sheet to pass the wires for the pads. A slot on one side for the arduino connector.

Join these pieces to make a cuboid except the top. Pads are made of aluminum foil.

cut 16 sheets of aluminum foil of size 45mm x 45mm.

The drilled holes should be according to the pad location.

Step 3: Connections

the connections are to be made as shown in the image.

potentiometer is for the sensitivity of touch. It is for adjusting the touch sensitivity.

NOTE: The wires to be used must be of same type. Otherwise their could be a difference in the capacitive values.

also try to make the wires of same size.

Step 4: Final Assembly

Now, we have to combine both the electronics and the hardware parts. Firstly, connect the aluminum foil to the top layer equally spaced and connect the wires to each of the foil. The wires are then to be connected to the arduino as in step 2.

You can stick the foil using the glue or using the tape.

also you can put some cardboard pieces between the plastic and the foil to give it a thickness and a good feel.

NOTE: The wires must be connected to the foil continuously.

Step 5: Uploading Code to Arduino

the code is given here.

upload it to the arduino.

NOTE: when uploading code to arduino the serial port in hairless midi must be set to not connected. otherwise while uploading code, the error will be displayed.

here is the code for testing the the touchpad and getting capicitivesensor values (captouch16try.ino)

the test code gives the values of the sensor.

these values should be almost equal. otherwise the pad will not work correctly.

the given values will be the sensitivity of the other code.

Step 6: Software Requirement

Download these softwares:

  1. Ableton Live 9 Suite
  2. Hairless MIDI serial
  3. LoopMIDi

Ableton can be downloaded from the official site.

Github link to download hairless midi:

( )

Link to loopmidi:

Download and install these softawares.

follow these steps:


open LoopMIDI and click on the (+) button on the bottom left corner.

A port is created for the data transfer.


Open hairless midi, now select loopmidiport in midi out.

leave the midi in not connected.

select serial port to arduino.(this will be shown when arduino is connected to pc/laptop)

step 3.

run ableton live 9.

open preferences (ctrl + ,)

now select link midi in left column and select the setting as shown in the image.

close that window

Step 4.

now select drums in the second column from the left.

select any drum.

when the drum is selected.

and you touch midi pad, a sound is produced in your laptop.

Your MIDI fighter is completed.

Enjoy!!! :-)

Step 7: Troubleshooting

Softwares are not configured properly.

there will be be some problem beforehand in setting up the touch as the pad gives analog values and these values can create problem.

wires may not be connected properly.

foil is not touching the wire properly.

wires may be getting shorted.

Arduino Contest 2017

Participated in the
Arduino Contest 2017