Convert Rockband Controller to MIDI Drums





Introduction: Convert Rockband Controller to MIDI Drums

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!


  • Paper Contest 2018

    Paper Contest 2018
  • Pocket-Sized Contest

    Pocket-Sized Contest
  • Science of Cooking

    Science of Cooking

We have a be nice policy.
Please be positive and constructive.




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.

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?

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 ^^

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

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

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

How to make 8 pads for using arduino uno ?

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?


I desoldered everything and rebuilt it using the proto-boards built in gnd and 5v rails (area on the bottom right of the first picture) which matched really nicely with this project and meant the midi interface cable is now long enough, I inserted the 220 Ohm resistor inline in the midi interface cable for simplicity. I am not getting the extra signals I was getting so I am guessing my first attempt was some bad grounding or something. I added some code to divide the source signal by 5 as it was never seeing the soft hits. All good now.

Hi and thanks for this great guide!

I'm a pro drummer and wanna use a Rockband unit found in the streets as a "desktop" MIDI controller for production and essentially, banging' away when my client's not looking xD

So here's the deal : My unit comes with a "single" jack in the back, that is I believe splitter inside into 4 cables, each of them connected to one of the pad. At the other end of this "Über-jack" is a USB. This is even cooler than MIDI port for me, cause that means it's USB-MIDI, and I wanna use it with my laptop!

When I plug the unit in, it is effectively powered (I see a relight in the controller). What would I have to do to adapt your guide to USB-MIDI (one USB cable) instead or MIDI to USB or MIDI to MIDI?

I'm new to Arduino but really excited about this project!