Tuesday, May 3, 2016

DIY 3D-Printed Electronic Drum Kit

Source files available in GitHub: https://github.com/rossbrigoli/Tambol

Inspired by a 3D printed drum pad by Frank Piesik, I decided to make my own 3D printed drum pads. I have an old cheap Medeli DD402 electronic drum kit lying around and not used for quite a while because of some faulty piezo-electric sensors that I was too lazy to replace. So instead of fixing the those faulty noisy rubber drumpads, I thought to replace it with a 3D-printed mesh head drum trigger.

I have made up my mind from the beginning that I will replace every rubber drum pad of my Medeli drum kit with a 3D printed one. This meant that I had to print 4 drum pads and that I have 4 chances/opportunities of improving the design. I did it in a Agile/ Iterative way and also in a modular design so that I do not have to re-print the whole thing if I decide to change the design in the following iterations. I only need to re-print the specific parts that was affected by the new design.

Iteration 1

I took the design of Frank Piesik from GitHub to have a baseline to start with. The design is good but I could not print the drum's shell because it's too big for my Kossel Mini printer. I started the first sprint by redesigning the shell and by breaking it down into smaller pieces that will fit inside my printer bed while keeping the original rims and the base. My printer print radius is 180mm and the shell actually has 180mm of diameter. I could not print it as a whole because of the nature of Kossel Mini design. It could not print a full 180mm circle because the hot-end fan will hit the belt of the Y tower (front left). I also modified the rack mount so that it can be mounted into my existing Medeli drum rack.
Half of the base being printed.

The drum will not work without a drum head of course. I learned about a "mesh head" from a friend who owns a Roland VDrum set. Mesh heads are drum heads but unlike the regular drum heads it is made of material that does not cause air vibration when hit and it looks like a loosely weaved cloth, a mesh basically. This is typically used to replace the regular drum heads of acoustic drum so that they become quite and be used for practicing drums in your flat or your apartment without getting shouted by your neighbors. I bought 4 Pintech Reaction Series Mesh headsfrom a UK-based online store Musician's Friend for S$30 a piece. It was quite expensive but it was worth it. There were cheaper options, but I did not like the reviews.
Pintech Reaction Series Mesh Head

Printing all the parts took around 24 hours. After printing all parts, I put all parts together using M6 bolts. It was very easy to assemble which only took few minutes.

It was working OK, but as soon as soon as I started cranking up the bolts to tighten the mesh heads, many problems came out. Here's the top 4 of them.
  1. There is just so much pressure focused at the center of the shell that made warp. I guess the original designer's objective of making the center of the shell the only point of contact with the base is to distribute the force evenly and to isolate vibrations of the shell with the base. It also did not work well at isolating the vibrations so I thought I had to redesign this whole thing.
  2. Another problem was the threaded rods started bending significantly, as you can see in the photo, even before I reach a mesh head pressure that is good enough for drumming.
  3. A third problem was that the shell becomes to shallow because I added bridge in the middle of the shell to make room for the bolts that are holing the two parts together. When I hit the drum hard, it makes an ugly "Tick" sound as the drum stick hits the bridge in the middle of the shell.
  4. The last problem was the location of the sensor, it's not in the middle therefor the responses to every hit is not uniform. There is a significant difference when hitting the top and the bottom part of the drum head. There is no option in my cheap drum module to adjust the sensitivity or to add compression.
Iteration 2

In the second Iteration, I decided to redesign everything while maintaining some aspects of the original design like the 4 threaded rods as the base. This time the rods goes through the shell while the shell socket becomes the holder of the piezo sensor.

The shell is also now in 3 parts instead of just two. This is to make room for future builds. 3-parts means the drum can be scaled up and still remain printable in a Kossel Mini printer. The photo above shows the actual result of Iteration 1 and the new design of the second iteration. I knew that iteration 2 will not be so successful because it's a completely new design so I also printed the second iteration in blue to experiment on the looks. I wanted to see how blue would look like.

Iteration 2 was failure. It's totally an experimental iteration. There some part of the design that I missed. I forgot to consider the thickness of the aluminum rings of the mesh head. As a result, the shell was too shallow and that there is not enough room for the mesh head to be pushed down further before it hits the base. it can still be used but the heads are too loose it doesn't feel like a drum head. There is not enough bounce. Although it's a failed iteration, it's not a wasted iteration because I learned a couple of things to correct in the next iteration.

  1. I learned that blue looks ugly in my rack. It looks very cheap, almost like a toy.
  2. I also learned that the shell was too heavy and way to thick and too strong.
  3. I learned that I need to make it taller to make room for the aluminum rings of the drum head.

Iteration 3

All the 4 issues of the first iteration and the 3 things I learned from the second iteration have all been addressed in 3rd and the result was amazing. The structure is sturdy enough that you can tighten the heads up to a point when it produces a note similar to that of an expensive Roland V-Drums mesh pads.

I am happy with the results of iteration 3 and almost wanted to stop there and print everything based on iteration 3. But I thought that maybe this shell is still too thick and too heavy. So started Iteration 4.

Iteration 4

Iteration 4 was a refinement of the Iteration 3's design and the finalization of the piezo electric sensor mount. I redesigned the shell by putting holes in its side to make it lighter. I also made the walls a little more thinner.

Iteration 4 shell being printed.

The final design showing all parts and the assembled shell.

It is roughly around 20% lighter than Iteration 3. I am very happy with it and decided that this will be the final design for all the pads I need. So I started printing 2 more shells like this. I did not want to change the Iteration 3 shells because it was almost the same. It is just heavier. So I only need to replace the shells of Iteration 1 and Iteration 2 drum pads. This is the benefit of designing it in modular. I didn't have to reject all parts of iteration 2, I was able to reuse the base and the rims.

I forgot the mention that in the second iteration, I also made a little modification on the rims because I didn't like seeing the the edge of the mesh head showing that yellow adhesive thing. So I added a 45 degree lip inside the rims to cover it. The photo above shows the final parts of the final design.

While printing the shells, I started coming up with the good mount for the piezo-electric sensor. It has to be isolated from the shell so that it won't pickup vibrations from the shell. But it has to pickup every vibrations from the mesh head. I looked at some commertial trigger cones but they are too expensive for just a simple rubber cone thingy. Here's one from ebay at US$12 each. I experimented on few materials. In fact my girlfriend was wondering why I bought different kinds of sponges. :) I laughed because I did not realize that it looked so weird buying all those stuff. After trying few of the materials, I finally settled for the EVA anti-slip pads.

I used anti-slip EVA/rubber dots which is very cheap in a local neighborhood hardware shop. I bought different sizes and stack them together to form a conical shape using a generic transparent adhesive. I have tested different approaches in previous iterations but so far this is the most effective.

The final product based on iteration 4 design. You can also see the sensor mounted at the center.

I am happy with the overall performance of this drum. My drum kit now feels like an expensive kit. Very good bounce that feels like an acoustic drum. No more pain in the wrist like what I usually get from rubber drum pads. My drumming is now less annoying to the neighbors and to the people watching your without a headset.

After assembling all 4 drum pads, I finally removed the old rubber pads and replaced them. The black and white looks very good on my rack. The blue rack mount part was a re-used part from iteration 2.

3D-printed mesh head pads next to the old rubber pads.
How cool looking is that?
Before testing I also have replaced all the piezo-electric transducers of the cymbals and the bass drum because I have a lots of extra piezo-electric transducers lying around. I bought a 20-pieces piezo-electric transducers from China through AliExpress for just $3 and shipping is free. The triggers are a lot better after replacing them. It feels like a new drum kit.

Iterative and Modular

As a software engineer, it make sense to make this project in an Iterative and modular approach. The benefit for doing iterative approach is that for every iteration you have an opportunity to redesign or improve the design of your model. While the benefit of making it modular is that you do not have to reprint everything of the previous iteration, you only need to re-print the parts that was affected by your new design. Thought there is one major difference between a software and hardware projects. Hardware projects are same as in construction or civil engineering in a sense that they involve materials unlike software engineering. For every re-design, materials are wasted. In this case, here are the total materials wasted due to the iterative approach.

You can also download the source files from GitHub and print your own drums.

Checkout the drums in action in one of my cover music videos.