Introduction: Arduino Midi Drum


I have made an electronic midi drum. This was a realy fun and challenging project. This project has an endless amount of opurtunities and can probably be made better.

I would not recomand this build for someone who has no or little experience with arduino or electronics.

Step 1: The Parts and Tools You'll Need

frame :

I have used wooden beams (5cm * 5cm) specific sizes can be found on the drawings (see step).

4 hinges

electronics box:

multiplex plate

little piece of plywood

2 hinges

pedal :

I won't bother you guys with the pedal I've made myself because it is not good at all. I hope to make a descent pedal in the future. for now I just use an old pedal I can use from a friend.

Pads :

round baking molds (around 25cm diameter and 3 cm deep.

fake leather

rubber mat


piezo element

rca plugs (you can also use 6.3 jacks) (female)

electronics :

arduino leonardo

3X pamp (TLC272CP)

6 X 1Kohm resistor

jumper cables

circuit board

conection pins for the arduino

6 X rca plugs


some screws

6X rca cable

6X bolt M6

6X wing nut


some electric wires



- wood glue (for the frame)

- all purpose glue (for the pads)

- drill

- sewing machine (optional for the pads)

Step 2: Making the Frame

The frame consist of three parts. I have made the frame with wooden beams. The frame I have build is just an example of how you could built it. In the drawings you can find all the exact sizes (all in mm) to recreate the frame. all connections where made with only glue.

Step 3: The Electronics Box

The electronics box is made from some leftover multiplex(12mm thick) I had laying around. In the drawings you can find all exact sizes.

NOTE: the mid panel is from plywood (5mm)

In one of the side of the box is a notch, this is where all the wires wil go through.

To make the notch:

- First measure the notch and mark where the notch has to be.

- Drill with a 6mm drill every 6.1mm 3mm above the bottom line

- now you will be able to cut out the rough shape of the notch

- use sanding paper to make it a clean notch (this might take a while and is not the most fun part of making the box)

after you have cut all the wood and made the notch you can glue the box together.

Before glueing the mid panel in

- install rca plug (or 6.3mm jacks). Normaly you can just screw the rca plugs in. I have used some extra glue to be sure.

- If all the rca plugs are conneted you have to connect all the long pins of the rca plugs using some electric wire and a solder iron.

- at the end you have to solder one wire wich will go to the electronics. Mark this wire as it will be the ground wire.

- At every short pin on the plugs you have to solder a wire as well. These wires will be the input on the electronics.

- now glue the mid panel in

the top

when all the glueing is done you can mount the top using two hinges and some screws.

Step 4: Making the Pads

The pads that I have made are based on the following youtube video:

the layers I have used (i have tested different materials using the arduino as a scoop (see next steps):

- baking mold

- foam

-piezo element (+ side connected to the short pin of the rca plug - side to the long pin)

- metal sheet (I did cut the metal sheets from cookie boxes) , this is where the piezo is glued to. Make sure the full surface of the metal side has conctact with the metal sheet

- rubber mat

- fake leather finnishing touch.

I added som cork to the bottom of the pads so before mounting them on the frame.

Now mount the pad to the frame using wing nuts and washers

Step 5: Testing Electronics

I have used my arduino leonardo as a scoop to test the electronic sheme. I also used it to try different materials and stuff for the drum pads.

The program to use your arduino as a scoop is included.

The input channel is analog 0 (A0). Make sure you never put more than 5 volt on the arduino! to make sure I didn't I have used the opamp. The opamp is power with 5 volt and the output will never be more than 5V.

The program starts registrating as soon as the input goes over the treshold value. The input value is shown on a scale between 0 and 1024.

Because this scope does not registrates the whole time it is verry handy to figure out the schematics and what materials are best for the drumpads.

use the scoop

- you must have a recent enough version of the arduino software (it works for all version younger than 1,5 years)

-upload the program to your arduino

- click tools in the arduino program

- click serial plotter.


Step 6: The Circuit I Used

I have used a verry simple circuit. It gave a nice result.

I have include another circuit wich I found somewhere on the internet and might work better. I haven't had the time yet to test is. So if anyone uses it please let me know how it is.

If anyone has a quenstion about the electronics feel free to ask, I'll be happy to answer .

At this point you have to solder the circuit. The ground of the circuit is connected to the long pins from the rca plugs a few steps earlier. The + side of the piezo on the diagram are the short pins of the rca plugs.

Step 7: Programming

To get the arduino working as an midi controller you must make some changes.

- open the arduino program

- click files

-click preferences (second to last)

- fill in the following link in the aditional url space :

- click ok

- click the tools button;

- go to board --> board manager

- find the midi package and click install (see pictures).

- go to tools -> board -> select arduino leonardo midi

upload the program. (if you have any questions about the program I'll be happy to answer them).

Step 8: Software

I use the hydrogen software.

you will also need to install the asio4all drivers

possible software you can use:

- I have tried to make my drum work with the jack audio control (within the hydrogen software), because it is designed for low latency, but I haven't got it running that way yet. (so if anyone gets it working with the jack audio control please let me know I am verry interested).

- I got the drum working with lmms (but it was not to easy and i didn't get the best result.) I am not going to go further on the lmms software (If you want to use the lmms software I would be happy to help).

- fruity loops software will work as well. I haven't tried it yet because I don't have it on my own computer and the software is not free. Since I know some people who use fl studio I might test the drum soon using fl studio.

- anvil studio is also free software wich you normaly could use. (I haven't tried to much using anvil studio)

- I have tried the drum before with the paid software ableton. It is realy easy to use and it works great but it definitly is not free.

using hydrogen

after you downloaded hydrogen and asio4all open the program. make sure your drum is connected to your computer.

-got to extra -> settings

-go to audio system -> select port audio

-go to midi system -> driver select port midi and arduino leonardo as input (it is possible that the leonardo doesn't show up yet).

-click ok then a message shows up to restart drivers -> click ok

-if the leonardo was not available yet repeat the previous steps it will be available now.


now you can start drumming. you can easily change te sounds of the drumpads and there volume etc.

Microcontroller Contest 2017

Participated in the
Microcontroller Contest 2017