I really like making music in Ableton Live. I’ve wanted to buy some MIDI drum pads for a while to use when making music, but I haven’t been able to justify the cost. So, I decided to make my own (hopefully for a fraction of the cost).
When I began work on the MIDI drum pad, I was pretty confident in my ability to get all the technical parts working. The aesthetics side of the project worried me. My first project in the class (TV terrarium) didn’t end up as aesthetically satisfying as I’d imagined, so I was worried this project would be the same. But oh, how hard work and thorough planning pay off: I’m pretty stoked with how the Koala 1 turned out, both aesthetically and functionally.
The Koala 1 is divisible into three sub-assemblies: the body, electronics, and pads.
The body is made of .11″ acrylic sheeting. Acrylic is really easy to laser-cut, and can be found for pretty cheap (I had to buy mine from McGuckins, but if you stop by Colorado Plastics on the last Friday of the month, you can get acrylic for as little as $0.50/lb) which made it ideal for this project. First, I did some hand-drawings for a prototype. I wasn’t what size I wanted each pad to be, so this helped me to think through how a user might interact with the final assembly. I ended up creating a prototype off of these drawings in SolidWorks. This allowed me to get some practice designing slotted components, and gave me something tactile to reflect on.
After this, I purchased a shadow-box frame from the Salvation Army to use as a container for the assembly, and began designing a full assembly around this. The final SolidWorks assembly ended up pretty slick:
All of the components are slotted to allow for easy assembly and to provide for more surface area when bonding. Creating a full assembly allowed me to make sure that everything would fit together when cut (measure twice, cut once) and to imagine how all of the electronics would fit inside.
I also wanted the final product to have a name (what good product doesn’t?) but I didn’t want to just engrave it in some lame-o font at the top. Instead, I used a website (http://patorjk.com/software/taag/#p=display&f=Graffiti&t=Type%20Something%20) to generate a cool font type. I created an image file of this, and then pulled it into Corel Draw. Then in Corel Draw, I selected the picture, and created a logo out of it. I then took the nameplate to the laser cutter and did a couple of passes in order to get a fine cut. It turned out really well.
The electronic components are the heart and soul of the Koala 1. Each drum pad is powered by a piezoelectric sensor. These sensors create a voltage when deformed, which can be read by a microcontroller, and interpreted as a “drum strike”. I got all of my piezoelectric sensor from an old Rock Band drum set that my girlfriend had lying around. The sensors are super reliable, and really easy to implement with a microcontroller.
The Koala 1 is powered by a Teensy 3.2 microcontroller. I chose a Teensy for a few reasons. First, at $20, the Teensy is very affordable. Seoncd, the Teensy is very compact. At 35 x 18 mm, the Teensy is dwarfed by all of the other microcontrollers I’ve worked with before. Third, the Teensy uses Arduino, which I have the most experience in. Fourth, the Teensy has a built in MIDI library, which made sending MIDI messages to the computer unbelievable simple.
I also hooked up six LED’s underneath the nameplate. These were meant to light up the name, and diffuse through the acrylic body, but didn’t work quite as planned. First, I could only power two LED’s without my Teensy acting strangely. The current to each LED is limited, and I’m under the 220mA max for the Teensy, but it’s still acting strangely. I’ll have to look into this more. Besides this, the LED’s aren’t very bright. I either have to be able to pull more current, get better LEDs, or some combination of the two.
I wanted the pads to be very responsive, and have a good “feel” to them. To accomplish this, each is composed of a couple layers. First, there are two pieces of cut foam resting on the floor. The foam helps to dampen vibrations that could trigger other sensors, and allows each pad to “give” a little when struck. Next, each sensor is taped to a square of acrylic. Since the acrylic is pretty stiff, it can be struck almost anywhere and still generate a signal. It also gives each pad a taught feeling. Finally, each pad is covered with a square of rubber sheeting. The rubber provides a nice drum-head feel, while reducing the noise from striking, and maintaining a consistent color scheme.
The final result exceeded my expectations. The pads work really well, and the system can connect to any music software seamlessly. Check out the video below to see the koala 1 in action.
While I’m pretty satisfied with the overall product, there are a number of aspects that could be improved. First, the electronics are pretty messy. Designing and printing a circuitboard would make the final product appear a lot more professional. Next, while the rubber pads are pretty nice, they get marked up pretty quickly and they kind of smell after being laser-cut. If I could get a material that’s more similar to drumming practice pads, I’d be a lot happier. I also want the final assembly to have more lights. I tried to get the logo to light up, but the results are kind of lackluster. If I could get light to really pour out of the logo and diffuse through the acrylic, I’d be really pumped. This might require an external or internal power supply, but I think it’d be worth it. I’m not sure the Teensy will be able to supply enough current.
Also, the sensors are currently monitored through a looping set of conditionals. This works surprisingly well (it feels like you can hit two of the pads simultaneously even though you’re not) but the latency could be reduced even more. If i were to build a hysteresis band, I could convert each of the piezoelectric sensors into a digital signal. This way, I could send each sensor into a digital pin on the Teensy, and program is so that each MIDI signal is triggered by an interrupt. This, or I could map the impulse of each sensor to a value so that each pad has sensitivity (hitting harder would cause a louder sound). I think I’ll implement one or both of these on a subsequent project.
- Acrylic – $20.00
- Rock Band Drum Set – $40.00
- Teensy 3.2 – $20.00
- LEDs/Wires/Resistors/Breadboards – $10.00
- Foam – $8.00
- Rubber Sheets – $10.00
- Shadow-box – $3.00
- Total – $101.00