This is my Arduino Project. How to build an e-drum kit with Arduino?

Hello dear reader!

-Why doing such a Project?

First of all because if you like these kinds of things, you will enjoy the work process really much. Second, because its really cheap compared to real e-drum kits and you will be able to save a huge quantity of money. Anyway, lets move on to the main part of this article.

Step 1: Materials


- Wood.

You will need different measures of wood. I used 16mm and 10mm MDF for the Drum pads and then 5mm plywood for the Cymbals.

I highly recommend MDF for making this project because of its ease while working with it

- Arduino Mega.

I used an Arduino Mega 2560 because I included 9 components. Otherwise you can use an Arduino UNO, which is cheaper.

- USB m/m cables.

To connect the sensors to the Arduino board you will need either USB or Jack cables. Jack cables are better in this case, but you will save money if you get the USB ones. Apart from the cables you will also need to get their respective female connectors.

- EVA rubber. (Commonly known as swimming pool floor)

- Sensors. Piezos and a photocell.

The piezos are the sensors for the Pads and Cymbals. The photocell will work as a HiHat pedal.

- Resistors, Protoboard/Breadbord, electric cable, pin Headers.

- MIDI connector and MIDI to USB cable.

- Screws, nuts and butterflies

- Pet screen

- *E-drum structure


- Jig Saw

- Sander / Sand paper

- Drill

- Screwdrivers

Step 2: Drum Pads

Use the Jig Saw to cut a basic shape from the 16mm MDF. This will be the bottom of our Pads. I recommend you to cut them with a regular shape so it looks better in the end. After this, cut a ring from the 16mm MDF with the same size as the bottom of the Drum pads.

Once you have cut as many bottoms and rings as you need, it is time to move on to the next step.

Step 3: Head Membrane

To attach the head membrane to the pads, you will need to cut two more rings, which will be in charge of holding and tensing the membrane.

The first membrane-hoop needs to be from a smaller MDF than the bottom and first ring of the Pads. It has to be a bit thinner than the first pad, but you can only cut from the inside part, so that the outside edge of the membrane-ring matches with the outside edge of the first ring.

The second membrane-hoop has to be higher than the first membrane-hoop and his inside edge has to coincide with the inside edge of the first ring.

Once you have cut these two hoops, it is time to cut the membrane from our pet screen. You can choose the number of sheets of pet screen for making the membrane. I used 4 sheets for each membrane so I could play harder without breaking them.

With a hot glue gun, draw the shape of the first membrane-hoop, leaving some space between the hoop and the glue, on the four sheets put together earlier, so that they stay fixed. After that cut the membrane around the hot glue to get your first membrane. Repeat the process, as many times as membranes you want.

To tense and fix the membrane to the membrane-hoops, you will have to drill some holes through the first membrane-hoop and the pet screen, as the picture above shows. The membrane will go situated between the two membrane-hoops.

Step 4: Finishing the Drum Pads

Now it is time to screw the whole Pad together. Use the screws, the washers and the nuts. You can see the finished Pad on the picture below. Don’t screw the bottom now! You have to put the sensors first!

The sensor goes on the bottom of the Pad and “connected” to the membrane through a trigger pyramid. Anyway, you can adapt the Piezo-Sensor however you want.

Step 5: Cymbals

The cymbals are made out of a sheet of 5mm plywood and the EVA rubber. The EVA rubber is used to decrease the noise while hitting the cymbal.

You will have to cut (3) triangles of the plywood. And drill 2 holes on them. One of the holes is for the stick of the structure and the other one works to get the cables from the Piezo-Sensor through.

Step 6: Hi-hat Pedal

For making the Hi-hat pedal you will need a photocell and a left foot sandal. Remove the band of your flip-flop and put an elastic one instead.

Drill the sandal through and make some space for the sensor on the front part of the bottom of the sandal.

After that, you will have to weld the cables to the photocell and to the connector (usb/ Jack) situated in the back of the sandal.

Step 7: Kick / Bass Drum Pedal

For making the Kick pedal there are many options.

If you want to do my Kick pedal variation, you need some Wood, screws, some EVA rubber and finally, the Piezo-Sensor

Make an inclined wood structure and put the piezo sensor on it. Cover then the whole pedal with the rubber to isolate the sensor.

Step 8: Circuit

Every component should be now connected to a cable (usb/jack). You will have to connect those cables to a female adaptor and then to the breadboard.

Sensors usually need to be connected to the arduino board through resistors.

The Piezo-Sensors need a 1MOhm resistor between the analog input and the ground pin. The photocell works perfectly without resistor, but if you don’t want to overcharge it, then you should use a 10KOhm resistor and connect it between the analog input and the 5V pin.

Finally you will have to connect the MIDI adapter, which goes connected to the TX0 pin, the ground pin and to the 5V pin. You will have to connect the adapter with two 220KOhm resistors. One of them will go to the TX0 pin and the other one to the 5V pin.

Step 9: Arduino Code

The original code was written by Evan Kale but it has been edited and modified by me. It contains some Spanish concepts, so if you have any questions please let me know.



Email: victorherrero16@gmail.com

See Evan Kale's original work:



Step 10: Structure and Other Things

If you want to build a homemade structure too, i recommend you to use PVC. However, you will save a lot of time and work if you get a second hand drum structure. This way you will only have to adapt your Pads to the hook of that structure.

About the connection to a computer/mobile device, you will have to buy a MIDI interface or a MIDI to USB cable. You can find them on amazon, aliexpress...

Same with 2 sounds of cymbal.. rim vs bell.
Hi how do account for the 2 sounds of the hihat? Hitting it open and hitting it closed? It cant be a on off thing (foot down vs foot up).<br>It needs a two states; hit while open and hit while closed. ... can't do that worth a thong (flipflop as you guys call it)
<p>I have Arduino Uno .I couldn't program it. please give me a code for that </p>
U can go and watch this video:-<br><br>https://youtu.be/vi-w_WqJjzQ
<p>Hola, me gust&oacute; mucho tu trabajo y quisiera hacerlo, pero tendr&iacute;a que pedirte ayuda con algunas cosas del c&oacute;digo de arduino porque tengo poco conocimiento. Si las pudieras responder har&iacute;as posible mi proyecto :). Estas son mis dudas: 1) El foto sensor activa el sonido como si le pegaras al hi hat abierto o hace que los golpes al hi hat suenen abierto? 2) Si reemplazo el fotosensor con un pedal de bombo con un fin de carrera (que puedo soldarlo para que este siempre abierto y al pisarlo se cierre o viceversa), tendr&iacute;a que hacer alguna modificaci&oacute;n en el c&oacute;digo? 3) Hay alguna parte del programa que me permita controlar con &quot;cuanta fuerza&quot; tengo que pegarle a cada pad para que suene mas o menos fuerte una vez conectado? (para que quede bien configurado seg&uacute;n el material que use y todo eso). Bueno esas serian mi dudas, si tenes tiempo de responderlas te lo agradecer&iacute;a much&iacute;simo. Saludos desde Buenos Aires!</p>
<p>When defining the number of piezos, does the photocell also count as a piezo? e.g. if I have 8 piezos and a photocell, will the NUM_PIEZOS be 8 or 9? Thanks for sharing this project!</p>
<p>No, it does not count as a piezo... It is defined by itself below.</p>
<p>Can I use a real hihat pedal from an electronic drum kit for this project? </p>
<p>Of course you can! You just need to adapt the code and that is it...</p>
<p>What is the purpose of a photo sensor in the analog loop of the circuit?</p>
It works as the hihat pedal... You need to put it on the loop, otherwise it would not work
<p>Do you think it would also be possible to have two arduino nanos to handle the input and then send the data to a raspberry pi that figures out which sound to play as a 'standalone' solution?</p>
I don't think it is possible... you should at least try out if it works. The code might be the hardest part...
<p>can it run independent like a normal drum module without having connecting it to computer with only flashdrive with sound files in it?</p>
Hii!<br>You would need to change the code a little bit... I don't actually know how it should look like. It is possible, but also hard.
<p>On the off chance you get this comment, what MIDI did you use? Thanks!</p>
haha of course i get it... I used a &quot;neusonik im/one&quot;. its actually the cheapest interface to connect your device with &quot;apple&quot; in general... if you don&acute;t want to spend that much money, you can get a MIDI/USB cable which costs around 15$/ Euros... ask me anything u want to know about it!! :))<br>
<p>I was planning on getting this one: <a href="https://www.amazon.com/MIDI-Solutions-2-Output-Active-Thru/dp/B0002GH97E/ref=sr_1_35?ie=UTF8&qid=1487976610&sr=8-35&keywords=midi+interface+solutions" rel="nofollow">https://www.amazon.com/MIDI-Solutions-2-Output-Act...</a> with a MIDI to USB cable. Will it work/Is it necessary? Also, how do I connect the MIDI interface to the arduino? And is there a way to reduce the size of the code to work for my Arduino Uno or should I just try to rewrite it? Thank you for responding ^-^</p>
<p>you don't actually need that interface if you just want to connect it with your computer... Just the midi to usb should be enough... You connect the cable/interface to a female midi connector, as it is represented on the scheme of the circuit. If you want to use an arguing uno, you just have to reduce the number of piezos in the upper part of the code... As I don't remember the whole code, I recommend you to check it, in case there is written the number of piezos again. Don't know if you actually will understand what i mean xD. Anyway, as I said, let me know about your progress. Have a nice one!</p>
<p>awesome! how did you connect the arduino to your computer? do you need a different usb driver for that?</p>
<p>Congratulations on your 1st prize. Well done.</p>
<p>haha! Thanks so much! </p>
better you should make a video also.
<p>hi <a href="https://www.instructables.com/member/victorh88/" rel="nofollow">victorh88</a> ,</p><p> i really love the project.. and i made it till the circuit and tested the circuit, and i am getting some noise and all the drums making same sound ..</p><p>midi to the amp.. humming noice</p><p>all piezo elements making same sound</p><p>no code modification</p><p>any help from ur end.. </p>
<p>There might be a problem on the circuit... Check if there are any cables touching. Try to upload a different code from another person and try theirs out. I'm sorry I can't do much for you..</p>
<p>Hi! Great project! What is the MIDI software you're using while playing in the demo video? Congrats!</p>
<p>What photocell did you use?</p>
<p>Just about any photocell should work. Just test the resistance with your foot up and your foot down. Then select a resistor halfway between, on the log scale.</p><p>To clarify: On the logarithmic scale, halfway between 1k and 100k is 10k. Halfway between 1k and 10k is 3.3k. Halfway between 1k and 1M is 33k. I'm using standard resistor values.</p><p>http://polymer.bu.edu/ogaf/image/fig22.gif</p>
<p>You can use any photocell with a value between 10-100 KOhm. Depending on its value it will work better with a resistor.</p><p>If you test the LDR with a simple Led blink code, you will see if a 10KOhm resistor is needed or not...</p>
<p>So something like this would work?</p><p>https://www.amazon.com/uxcell-Photoresistor-Resistors-Light-Dependent-Resistance/dp/B00G9JPHKY/ref=sr_1_28?s=industrial&amp;ie=UTF8&amp;qid=1475610232&amp;sr=1-28&amp;keywords=photocell</p>
<p>Yes absolutely! I would buy some 10KOhm 'normal' resistors too, just in case... </p>
<p>Okay, thank you.</p>
<p>Let me know if you would like to see a video of it working!</p>
<p>Check out the video on the top of the post! I'm really bad playing the drums so don't judge me pls... thx</p>
<p>Learn by doing! Fantastic. I bought a couple of partial Guitar Hero drumkits to do the same with. Building it entirely from scratch is impressive!</p>
<p>Totally! I'd love to hear how it sounds</p>
<p>I'm pretty sure we were all expcting one at the end of your instructable anyway. </p>
<p>i would love to see this working :D</p>
<p>That would be awesome!</p>
<p>Yes, please.</p>
<p>YES PLEASE, i want a video </p>
<p>YES, definitely</p>
<p>I most deffinetly would like to see it in action :P!</p>
<p>How much was the whole thing in total parts?</p>
<p><a href="http://www.amazon.in/Electronic-Transducer-Acoustic-Mandolin-Ukulele/dp/B01K6YBSOQ?tag=googinhydr18418-21&tag=googinkenshoo-21&ascsubtag=1d084597-de87-4acc-aeeb-6685df2934f9" rel="nofollow">http://www.amazon.in/Electronic-Transducer-Acousti...</a></p><p>Can i use the plz reply fast</p><p>thx</p>
<p>you could use those... the main problem might be that they are probably too small</p>
<p>I am not a drummer, so don't not know the actual operation of a drum set. May I ask why you use photocell for Hi-Hat pedal instead of the Piezo-Sensor?</p>

About This Instructable



More by victorh88:Homemade Electronic Drum Kit With Arduino Mega2560 
Add instructable to: