So, Guitar Hero Pedal Got Busted

Some time ago, our Guitar Hero kick drum pedal broke under mysterious circumstances. Manufacturers have been known to use the cheapest materials in their designs and this had to be no exception. The wire to the pedal was chewed up beyond recognition; a ghost dog may have become fond of its delicious (?) rubbery taste, but who knows? It’s busted.

My dad opened it and tried to repair whatever internal wiring may have been broken, and when that failed he bought a new Rock Band model. I think it probably went something like this a few days later:

Dad:

All right, it’s the weekend and I’m ready to rock out on some drums, homeslice!

plugs in kick pedal, turns on Guitar Hero

Woohoo! Hotel California!

after a few notes…

:(

The new pedal didn’t work either. At this point I noticed from my room that something was up when the music cut out. My diagnosis: it was stricken with severe hack-me-itis. This is where I gained a greater appreciation for my previous electronics work in high school and college. Testing the pedal came out O.K. There was some problem with the drum set itself.

I traced out a couple circuit boards in there and poked around, finding that the pedal (which is just a simple switch) wasn’t registering in one of the chips on the board. I came to the conclusion that power was not reaching the switch itself anymore because of cheap parts used when the board was manufactured. Tracing out where power was supplied, I drew power from the line into the switch by soldering a resistor between both points. It worked! But something else was wrong–the pedal only worked when you lifted your foot off of it, not when you pushed down on it, like how it’s supposed to work. Now I know what you’re thinking.. “Ok, yeah! Eff it, drop a transistor in there to change the trigger.” Well, not so fast there, homeslice.

Checking the circuit, it seemed like the pedal switch was supposed to ground the line, implying that there was a pull-up resistor on the signal in the first place. I had bridged power to the switch in order to restore that supposedly failed pull-up. Placing a transistor on the line would ground the line all the time, reversing how it’s supposed to work.. the most confusing thing of all is that restoring the pull-up reversed the functionality anyway! With this in mind, I just went nuts and cut the traces to the pedal switch, wiring power to one end and the other to output, so that if the kick pedal was pressed, power went to the chip whose job it was to interpret the kick pedal press. This is when things really got weird: holding the pedal down made the game go berzerk. It was as if I had the feet of Hermes, kicking that pedal at a lightning 20 times per second. I mean, if I could kick that good, I’d be in Van Halen. I’d give Leonidas a run for his money.

Leonidas from the movie 300
"I kick with the power of a thousand suns!"

Anyway, now the true problem had revealed itself: the chip on the circuit board was busted. Using the kick pedal at all triggered multiple kicks. The only way in my mind to solve this problem was to somehow pulse an ultra-short signal to the chip whenever the pedal was pressed. If only there were a discrete component to do this! I ended up bringing out the nuclear bomb of solutions: an ATmega88PA microcontroller. The solution and code were short and sweet: check for a voltage on the microcontroller coming from the kick pedal, pulse a signal to the drum set circuit board from a different pin for 40 milliseconds, wait for the pedal to be released (0 volts incoming voltage on input pin), and repeat. This worked just right. As you might be able to tell from the code, I was initially going to go with an interrupt-based method but ended up using polling of an input pin since I had a strange 4-second block between input capture interrupts, even when I stripped the code to a bare-minimum test. I may have faulty microcontrollers (I put these little chips through hell), or I may just be a n00b. Probably the latter. The guitar hero circuit still introduces noise to the signal every 20-30 seconds for a brief moment, but for the most part, it works.

Possibly-failed Guitar Hero Drum Pedal
Yep, pedal was fine. Snazzy, too.
Cracked open drum set with custom electronics circuit nearby
Cracked open drum set with custom electronics circuit in a breadboard nearby.
Custom electronics circuit on a prototyping breadboard
Custom electronics circuit on a prototyping breadboard.
An electronics hack I did to give power to the drum pedal switch.
This is the electronics hack that powers the drum pedal switch.
An ATmega88PA microcontroller wired up to the Guitar Hero drum set circuit board.
An ATmega88PA microcontroller wired up to the Guitar Hero drum set circuit board.
Microcontroller attached to the inside of a Guitar Hero drum set.
You can spot where the microcontroller was attached by following the Italian-flag-colored wires underneath some electrical tape.

We can now rock out without having to spend money on new drums, and I got to work on a fun project. Everybody wins!

Comments