Rock Band (Game) Piezo Circuit

Discussion in 'The Projects Forum' started by Srgnt Ballistic, Oct 12, 2016.

  1. Srgnt Ballistic

    Thread Starter New Member

    Sep 30, 2016
    Hi all

    I'm looking for help with a circuit.


    My Background:
    I have a background in computer engineering but concentrated on software engineering. I took quite a few circuits, electronics, digital design and embedded systems classes in college but that was almost 10 years ago.

    My current project involves connecting a piezo based drum (Yamaha KP65) to my Ion Drum Rocker electronic drum set. The KP65 offers a more realistic experience as it requires you actually use a real bass pedal and beater. It can also be used along with a double bass pedal required for some styles of music.

    The Problem:
    The Ion Drum Rocker brain expects an active low trigger on it's bass input while the kickdrum delivers a pretty low and noisy momentary voltage when triggered. The stock trigger witch comes with the set uses some type of magnetic switch pull the signal low.

    Interestingly enough all of the other inputs to the Ion Drum Rocker Brain take in piezo based signals. I'm able to plug the KP65 into the other inputs and trigger them correctly.

    The Solution:
    The optimal solution would be pretty inexpensive and able to accurately trigger the brain very quickly with no cross talk or mis-triggers. If you're familiar with Rock Band some drum parts require 16th notes played at very high beats per minute. So something like 5-10 triggers per second.

    I've researched this problem for a while now and come across a few of solutions. There used to be a product called the "Kickbox" (~$30-50) which converted the piezo based signal for use with the drum controller. The manufacturer has gone out of business but a few people have worked to reverse engineer it's functionality. Above is a schematic of a circuit designed and refined by a number of DIYer's about 5 years ago.

    My Understanding of the circuit:
    The LM 386 Amp takes in the signal from the piezo and amplifies it. I believe the LM 386 automatically biases it's output to 1/2 the input voltage (2.5v).

    This is then passed into the 555 timer which amplifies and cleans the signal from the LM 386 to something that can bias the 2N3904 BJT such that it pulls down the signal going to the brain to trigger the bass note in game. The Pot in the upper left is for fine tuning

    I've implemented this on a breadboard with medium success. I was able to get the kickdrum to trigger successfully but occasionally when triggered the out put of the BJT would stay low and not come back up to 3v so no subsequent triggers would register. The only way to stop this has been to power cycle the circuit.

    I like this design because it uses cheap components I have on hand. I've seen other circuits with multiple Op Amps that utilize dozens of resistors and 3+ DIP IC's.

    1. Is this the most viable solution?
    2. Any idea why the output occasionally goes down to 0v and stays there instead of going back up to 3v?
    3. What other circuits/components might be a better solution?
    4. Are the 555 timer or BJT limiting speed/accuracy?
    5. Should I be able to add an LED & resistor to the output of the 555 to visualize triggers without interfering with the operation of the BJT?

    By the end of this I'd like to have a 9V battery powered circuit (w/ 5v voltage regulator) on a soldered protoboard in a Guitar Pedal/Stomp Box sized controller. With and input 1/4", output 1/4", pot for sensitivity, power LED, trigger LED and on/off switch.




    If you have any questions or suggestions please feel free to ask. Thanks in advance

  2. MrChips


    Oct 2, 2009
    LM386 is the wrong chip to use. I suggest you throw that circuit out and start over.

    A circuit powered from a standard 9V battery will be fine. You don't need to waste power using a 5V voltage regulator.

    Do you want a fixed voltage output? How does a drum kit respond to varying kick intensity for dynamic volume control?
  3. Srgnt Ballistic

    Thread Starter New Member

    Sep 30, 2016
    Thanks for the reply. For the purpose of this project dynamic volume control isn't particularly important. Since Rock Band turns your inputs into musical notes in game it generally outputs at a set volume.

    The most important features are speed and accuracy.
  4. AnalogKid

    AAC Fanatic!

    Aug 1, 2013
    Strongly approve going with a real pedal with a real beater. The tactile feedback to the foot is way better, even if you don't need volume control.

    The circuit looks like it is using the LM386 as a preamp, to drive a 555 as a monostable making a 55 ms output pulse, driving the 3904 making an open collector pull down to GND. If so...

    The circuit isn't blatantly bad, but the 386 is a non-standard choice. It is acting as an inverting preamp with a gain of 20, plus a DC level shifter. The output sits at Vcc/2 and the 555 triggers at Vcc/3, so it should work.

    Changing the 555 timer values will make the circuit more stable. I suggest adding a 47 K resistor in series with the 10 K timing pot, for a nominal adjusted value of around 50 K, and changing the capacitor to 1.0 uF. You should be able to get this as a non-polarized ceramic cap with better accuracy and temperature stability.

    The 2N3904 needs a resistor in series with its base, of the 555 will burn it up. Suggest something between 1.0 K and 4.7 K.

    The 555 is a retriggerable monostable, meaning that the input pulse must be shorter than the output pulse. Depending on what is coming in from the pedal, or the exact output level of the 386, the 555 can hang up. One possible solution is to AC couple the signal from the pedal. Try another 1.0 uF cap in series with the LM386 pin 2 and see if that decreases the number of latchups.

    Sure would like to see the drum pedal output signal.

    Last edited: Oct 14, 2016
  5. jholl2772

    New Member

    Jun 6, 2017
    Hi all,

    I've built this circuit a couple times on a breadboard and it is really finicky.
    It works fine for a couple of minutes then it just starts ghost hitting like crazy,
    and I can trigger it just by touching the kick pedal (so I suspect there's a ground issue).

    I have a KP-65, so I am probably going to replace the pot with a 5K resistor as the creator suggested
    to create possible error sources, but what I'm really unsure of is how all of the connections are made relative to the
    input/output mono connections.

    Currently, I have a 5V USB + going to the Vcc rail, and the USB - going to the ground,
    I then have the sleeves of both the input and output mono connectors connected to the ground rail
    as well. The tips are then sent to the "signal" input of the LM 286, and output of the 555.

    Is there a ground I don't need to connect that is throwing off the circuit?

    Also I have noticed that the 2N3904 gets really hot when the circuit is active, so i'll be grabbing an
    extra resistor to throw in there as well as AK suggested. I don't want to change too much of the circuit because I have
    emailed the creator of this original circuit back and forth and he says it's been working fine as is...

    Otherwise I have it wired exactly as shown above, and it still isn't working; the sleeve/tip wiring is the
    only other thing I can think of that I've done wrong. If I could find a used kickbox to buy I would've done so by now...

    Thanks for any help!
  6. Srgnt Ballistic

    Thread Starter New Member

    Sep 30, 2016

    I built and got this working for the most part as well. Although it did have some inconsistency like you mentioned. I've since bought a Yamaha DTX502 brain and I'm working to get it passing out MIDI to the Rock Band MIDI adapter and PDP Xbox 360 to Xbox One Adapter so I've somewhat abandoned this circuit for the time being.

    I do want to revisit it soon, however.

  7. jholl2772

    New Member

    Jun 6, 2017
    Update: I replace the pot with a 5k resistor, and added a resistor between the base of the transistor and the 555.

    I got about 1 minute into a song, then the double/ghost hits started coming on again -.-

    I noticed when I went to fix the tension on my snare (Pintech ConcertCast single zone), it would register a hit
    whenever i touched the drum tool to the metal rim. I can register kick hits by touching the drum tool to the metal
    on the kick pedal... WTF
    I unplugged everything and tried the snare and kick seperately; both behave the same...

    At this point I'm starting to question the Ion drum brain itself; the snare has never behaved like that before...
  8. jholl2772

    New Member

    Jun 6, 2017
    Eureka (sp)!!!

    I did three things and one of the three, or a combination of all of them, fixed everything!!!

    In order of least to most likelihood:

    - put a layer of cardboard beneath the drums and carpet (had on carpet before w.o problems)
    - replaced the kick mono cable with the stereo cable the kp-65 comes with (oops, the kp65 even shows a stereo plug on the back)
    - ran a ground strap from the drum rack to the negative rail on the breadboard (99% sure this was the fix)

    Boom! problems solved!!
    i would go back and actually figure out for sure what fixed it, but it works perfectly now so im not going to look at it the wrong way...

    I also replaced the 10k pot with a 0.15K resistor and that got me to a perfect balance and im able to register super fast 32nd notes, and i have the sensitivity dialed in on the kp 65 so i dont get any rebounds...

    its been a long week, and i've rebuilt the circuit 3 times thinking i had bad solder connections or components, wish i would've suspected the drums first!!!

    thanks for the inspiration and ideas guys!