Convert Rockband Controller to MIDI Drums




About: === === ===

Hey! Today I'm going to show you how to convert a Rock band or Guitar Hero drum controller into a real MIDI drum set that can interface with digital audio workstations like Ableton Live, FL Studio, Pro Tools, etc.

Or you can simply use it to play DTXMania (DrumMania)!

Step 1: Watch the Video!

Click here to view on YouTube

Check out this video to see the drum set working as a MIDI controller!

It is also recommended if you'd like to know the inner workings of the Arduino code, and want a more detailed explanation of the circuit.

If you'd like to just get it done, then read on!

Step 2: What You'll Need

We're going to need an Arduino.
I chose to use the Arduino UNO because I only needed 6 analog inputs but if you have more than 6 piezo sensors, then you can go with the Arduino Mega which has 16 analog inputs.

We'll also need:

  • 1 proto board
  • 1MΩ resistor for every drumpad
  • 1 220Ω for the MIDI port
  • 1 MIDI port
  • Male pin headers

Where to buy

Soldering gear:

Test gear:

Step 3: What I'll Be Using

I'll be using the Guitar Hero World Tour controller for this Instructable.

It's got 3 drum pads, 2 cymbal pads, and a pedal. On the back panel, there's even 2 stereo 3.5mm audio jacks - one of which connects the bass pedal and the other we can save for any further modifications to the drumset.

Also, this set comes with a MIDI input port. Which is perfect, because we'll just save a MIDI jack and rewire this port internally and turn it into a MIDI output port.

Step 4: Open Up the Controller

After you take out the screws on the back and unhook the controller dock, we can lift the back plate, and access the piezos.

You can see that the piezos are plugged in directly to the mainboard. The other board on the top just holds the back panel, and all the inputs of the back panel are plugged into the main board directly as well.

We'll just unscrew the main board, and replace it with our Arduino.

Step 5: Create a Shield for the Arduino

The first image here explains how our piezos need to be hooked up to the Arduino.

Then we'll have make a shield for the Arduino where we can plug in the piezos from the drum set into.

The second image is the schematic of the shield on a protoboard.

First we add some pin headers on the board to match the pins of the arduino, so that we can snap the proto board on top like a shield.

Then we'll take our resistors and connect it to a common ground.

Then we take our pin headers, break them into twos, and solder one end of each of the these to the other end of the resistors. Then we connect the other pins of the headers to ground as well. Now we can just plug our piezos directly to these pin headers.

We'll also add one more pin header for the MIDI port, as drawn in the schematic.

Step 6: Back Panel Modification (Guitar Hero Controller Only)

This step is for Guitar Hero World Tour controllers only -

Since we're reusing the MIDI port on the back panel of this controller,

We'll need to make a slight modification to the back panel board. By adding a jumper between the two pins pictured above, we can ground the middle pin of the MIDI port which would otherwise be missing for a MIDI output port. We can then plug the last four pins of the cable ribbon directly into our proto board.

Step 7: Install the Arduino Code

Download the full Arduino source code here:

If you're using the Guitar Hero World Tour controller, the default code will work out of the box.

Otherwise, you'll need to make adjustments to the definitions at the top of the code as you see fit to your drum set.

If you'd like a detailed explanation of how the program works, then check the the video from step 1!

Step 8: Snap It in and Close It Up!

Snap our new shield onto the Arduino, then plug in all the piezos into the pin headers.

I also added some hot glue to the solder joints to prevent it from breaking off in the future from all the drum hits.

Then make sure the wires are secured by taping them down with scotch tape, and close up the unit!

Step 9: Give It a Test!

Fire up a digital audio workstation like FL Studio and give it a go.

That's all there is to it!

If you liked this instructable, then perhaps you'll like some of my other projects!

You can check them out at my YouTube Channel.


3 People Made This Project!


  • Remix Contest

    Remix Contest
  • Warm and Fuzzy Contest

    Warm and Fuzzy Contest
  • Build a Tool Contest

    Build a Tool Contest

53 Discussions


Answer 2 months ago

Totally, I bought those, but I suggest you to find other channels that have build this pads in ways that give a better feeling and a better response to the touch.


Reply 2 months ago

Not really, refer to answers above for answer xD


1 year ago

hello everyone. y managed to make the conversion from a rockband drum set, but 1 problem i have is that i cant figure out how to add digital inputs for the pedal and eventually a cymball chocker. so i would appreciate any help taht you can provide.

and also thank you for the tutorial and the code

1 reply

Reply 2 months ago

Digital inputs? Or extra analog inputs? If you need more analog inputs then you need the Arduino MEGA.


1 year ago

For the Guitar Hero set...

Does the MIDI message travel through the Uno USB?

Or does the MIDI message still travel through the MIDI port? If this is the case then I will need a MIDI to USB converter cable for a computer connection?

2 replies

Reply 1 year ago

i dont know if this question is still up to date, but for future people having the same qestion: you will need an extra midi to usb cable, the ardunio cable will be used just for power, not midi ^^


Reply 2 months ago

Yes, you need a MIDI - MIDI (I am using this method) so the DAW or drum software you are using can read the velocity of the notes. The USB connection to the Arduino is just for uploading the code and powering. In addition, the MIDI - USB needs extra software to make it work, while the MIDI - MIDI needs a audio interface or MIDI interface.


11 months ago

Could someone please help me build the pcb? I’m not firmilular with using pcb. Only ever used breadboard. I have everything working (need to sort the thresholds of each pad out. Because some hits don’t read and some lag way after) I just need to get it on pcb and add a midi port as the rockband set doesn’t have one. Thank you.

1 reply

Reply 2 months ago

Add 2 more 1M resistors and follow the same schematic as the other resistors. You will need Arduino MEGA since you will be using 2 extra analoge inputs.


1 year ago

Help me guys (
I've done everything. Everything works. But there are always some extra sounds

1 reply

Reply 2 months ago

Sensitivity issues probably, that is a common issue with DIY pads, but if you are using the rock band/GH controller then check the code part.


1 year ago

So I have been given a set of these drums, and I happen to have an Arduino mega.

I would very much like to do this, but have 2 questions first.

1. How do you connect this to the computer? Directly with USB to USB from the Arduino? or with the midi port and a USB adapter? If its by adapter can someone recommend one? I dont want to fry a USB port.

Second, how is it powered? By Wall wart or USB? I suspect Wall wart, but its not covered here.

I will look around the internets to see if I can find the answer. If I do I will post, but so far no success.

If anyone knows, please help! thank you

1 reply

Reply 2 months ago

I mean its been a year but maybe somebody still has this question. Connections go as follows: USB - Arduino to PC, and MIDI - Arduino to MIDI - interface or MIDI-USB separate from the one connected to Arduino but this would require 3rd party extra software to make it work I believe. I have not tried it USB USB way but with the USB MIDI connection it works so far. The powering of the Arduino is done via USB-PC to Arduino 5v, but maybe it can be replaced with a 5v battery system or something similar that delivers 5V to the arduino after the code is saved of course.


1 year ago

Hi, thanks for making this, I wanted to reuse my old GH drums module to add a few triggers to my new Alesis Crimson EKit and your article was perfect and I love DIY projects. One this is that it was not clear that you need to wire each of the pin headers into each of the analog inputs of the Arduino, you should modify the shield diagram in step 5 to show this as it took me some time to realise and I would have laid out my board differently had I known before hand. I attach a couple of photos of my proto-board. Couple of problems I am having. 1. Output range from hitting pads is as high as 2100 or so and so even just a little hit maxes out the volume, I added a line of code to divide the output by 10 to bring it within the 1-256 midi range and get much better volume control. 2. For some reason when I hit one of the pads (seems to be dependent on which are plugged in) then one of the pads triggers two notes (the others are fine, just one pad that this happens on but not always the same one so it is not a pad issue), I checked my wiring and it all seemed to be okay, no shorting between lines, any ideas? as I was only using the pads not the cymbals I just put a bit of code to limit the signals that could be transmitted and that worked but it is just a bodge. 3. I get a huge variation in volume between the side and center of the pad, is this normal (GHWT kit), wondering if I can compensate in software some how?