The Strummer




Introduction: The Strummer

Making a keyboard sound like a (strummed) guitar by using:

  1. A MIDI keyboard to determine the chord
  2. An Arduino to determine which string is being played
  3. A piece of software to remap the keyboard chord to a guitar chord, and play only the notes that the Arduino says to.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: The Circuit

In principle, the circuit is very simple - the Arduino contains six switches made from copper wire. Each digital input is a pull-down resister giving a 0 input on D3-D8. When the plectrum/pick makes contact with the string/wire, this completes a circuit to pull the input to 1.

The Arduino needs only the standard Firmata code to be loaded into it.

Step 2: The Software

The Arduino needs only the standard Firmata code to be loaded into it.

The Processing code needs the dependancies:

  • The Minibus
  • Arduino (Firmata)

You can grab the code from

Step 3: The LEGO Mount

This is nothing more complex that 6 wires threaded through the holes in a cuboid block of LEGO.

Some points to note, however:

The wires are wound tight around the LEGO, but inevitably become slack. Maybe solid core, or strips of metal would be better?

The tape on the coin is in the centre so it can make an electrical connection when strummed in either direction

Use a smooth sided coin, to stop the sound triggering repeated if/when the string hits the serrated edge. Brian May always used a sixpence as his pick, so I'm in good company ;) It's just a shame I don't have a sixpence!

Tape the unit to the desk.. it _will_ move.

Step 4: Play It!

Et voila!

There are actually two modes of operation, if you look into the code.

By default the code runs in 'auto-strum' mode. This means that whenever a chord is recognized by the MIDI input, it is played through MIDI with a short (random) time interval between each string. This is set by:

``` bModeAutoStrum = true; ```

If you switch this to:

``` bModeAutoStrum = false; ```

you can use a suitably rigged Arduino to trigger the notes/strings individual, giving much more flexibility to the sound.

The software simply remaps the keyboard chord to a guitar chord, and plays only the notes that the Arduino says to.

DIY Audio and Music Contest

Participated in the
DIY Audio and Music Contest

Coded Creations

Participated in the
Coded Creations

Be the First to Share


    • Toys and Games Challenge

      Toys and Games Challenge
    • Backyard Contest

      Backyard Contest
    • Silly Hats Speed Challenge

      Silly Hats Speed Challenge

    4 Discussions

    I'm not yet skilled enough in my technique for note on/note off to make a difference; but I like the idea of muting the strings. I'll include it in the next code release. Thanks for the suggestion!


    5 years ago

    Just a quick thought - would it sound/feel more natural if the midi event was triggered by the string/pick contact being released, as this is when a real guitar string would sound? Could this be extended so that it's possible to mute strings by touching strings with the hand containing the pick?