Drum MIDI Controller with Guitar Strings

An idea that I had to use bouncy guitar strings as a MIDI input device. Super fun to play.

I don't remember what goes here?

Materials:

  • Guitar Tuning Pegs
  • 4/4 Walnut
  • Raspberry Pi Pico
  • Aux jack
  • Brass rods
  • 3D printed stuff
  • 10k potentiometer
  • Cherry keyswitches (low profile)
  • Aux to RCA cable
  • Raspberry Pi Pico W

Procedure:

  1. Mill / dimension walnut
  2. Drill the holes
  3. Route out a portion of the side of the board for the tuning pegs
  4. Route out a hole for the slider
  5. Cut 2x brass rods to length per string
  6. Cut 2x smaller brass rods to length for drum sticks
  7. Sand wood
  8. Add finish (I use hardwax oil)
  9. Prepare Electronics
    1. Solder 2 wires to each key switch and 3 to the linear pot
    2. Heat shrink connections if possible
    3. Prepare 1 strand of wire for each string. Strip one end to about 2".
  10. Glue in buttons and slider
    1. Sand off a bit of finish carefully so the glue sticks
  11. Insert tuning pegs but don't tighten all the way
  12. Wrap the stripped end of prepared wire around the tuning peg, then tighten to smash it against the wood.
    1. This is what connects the string to the raspberry pi
  13. Solder electronics to raspberry pi.
    1. Buttons each go to a GPIO and ground
    2. Slider goes to GPIO, GND, Power
    3. Strings go to GPIO only
    4. ALL pins of aux go to GND
Pins that I use for 2 string version
  1. Mount raspberry pi pico
  2. Attach back case (after pre-drilling pilot holes)
  3. String the instrument
    1. Add brass rods from earlier
    2. Taller ones go in the back
  4. Attach dampening caps
    1. Hold the string in place on each rod + have room to insert felt
  5. String each note. Tighter = more responsive, but play around with it.
  6. Assemble the sticks
    1. Strip each wire of the aux -> RCA cables
    2. Solder each pair of 2 wires to one of the sticks
    3. Slide heat shrink tubing over the sticks / cable connection.
  7. Upload the code
  8. Done?