top of page

MIDI-Enabled Guitar Hero Drum Kit

For the longest time, my family had this old electronic drum kit lying around that was designed to be used with the Wii™ gaming console.

I took it apart in order to turn it into a midi drum kit by connecting the pads to an Arduino that would convert the pulses from it into MIDI signals that a computer could interpret and play drum sounds.

My first version (see below) only made it as far as the breadboard prototyping phase. I had chosen a Teensy LC as the microcontroller for its impressive computing specs, pinouts, and builtin HID emulation. However, it runs on 3.3v. All the resources I had seen that attempted to hook up piezos like I planned to do had used 5v compatible boards. In hindsight it probably would have been fine, but to be on the safe side, I set up a voltage divider circuit for each piezo to bring the voltage down to completely safe levels. This worked, but the entire circuit ended up being very unwieldy and big and I lost interest in soldering it onto a proto-board (none of the ones I had could fit it). In addition, I had used 2-pin headers in the breadboard to connect the piezo connectors, but the connection was incredibly faulty and the connectors kept falling off.

20200112_160931.jpg
20200112_160919.jpg

When I picked this project up again several months later, my first order of business was to order a new microcontroller. This time I chose the Arduino Micro. It has enough pins, built-in usb HID support, and more importantly, it's 5v tolerant. With the risk of overloading the microcontroller out of my mind, I re-did the circuitry without the clunky voltage dividers. I also made use of the female connectors on the original circuitboard instead of the whole pin header thing.

20201008_100438.jpg

After confirming that it still worked, I soldered the connections and the Arduino permanently onto a proto-board. I had originally intended to fit all of it inside the drum kit's body, but a sudden appreciation for displayed circuitry prompted me to attach everything where the Wii™ remote would have gone (that, and the space constraints inside the drum kit).

20201026_094748.jpg

The hardware was finished! The software I had before (that I got and modified from Evan Kale, a content creator) still worked, but I felt that I wanted more flexibility out of this project. So, I set to work on a program that would run on my laptop and communicate with the drum kit over serial, allowing me to send layout changes, get visual feedback, etc.

The final UI allows me to (https://github.com/pie474/processing-projects):

  • Select individual drums and re-assign their midi note from a bank

  • get visual feedback on when a drum is hit and how hard

  • use hotkeys to toggle drums between commonly used values (ex: ride cymbal <-> crash cymbal, snare drum <- > rim click)

  • use other hotkeys to switch between custom 'layouts' (specified in a JSON file)

I set up the Arduino code to receive these encoded messages over serial and make the appropriate changes, and it was all finished!

20201026_094655.jpg
bottom of page