To make the experience fit your profile, pick a username and tell us what interests you.
All the files are in the Dropbox folder linked here.
IMPORTANT: use the included MIDI and Capacitivesensor Libraries when compiling the Arduino sketch because I had to modify the MIDI Library in order for StrumPad to work properly.
Also piezo placement and circuit is important. You should experiment with a piezo circuit separately in order to fin the best results. Experiment also with the resistor values for the Capacitive touch sensors; from 470K to 10M and see what gives the best results.
If you want to etch the board, there a 3 pdf files that show the traces. One colour image that shows all top and bottom traces for reference. One colour image that shows the bottom traces that you'll jump or etch if you're good with 2 sided PCB technique. And an black and white image of the board that is inverted cause it is the TOP layer and will be inverted to the right position once applied to the copper board.
I used a 2 sided copper board. The area on the bottom that will has the piezo was just marked with a black marker so there was a slightly larger circle of copper left in order to solder the piezo right to it.
ino - 39.80 kB - 08/26/2018 at 02:10
JPEG Image - 6.11 MB - 08/26/2018 at 02:04
ino - 40.71 kB - 08/26/2018 at 02:02
ino - 28.56 kB - 08/12/2018 at 18:01
STRUMPAD ARDUINO 1.2_CH2_OUT_MIDI
This version is programmed to receive and send midi messages only on channel 1.
STRUMPAD ARDUINO 1.2
This version is programmed to listen to all midi channels and send midi messages for each string on different channels from midi channel 1 through 6.
- Improved the Strumpad piezo sensing
- Added Mute all string when all strings touched
- Added Reset all and note off to all notes on channel 1-6
- Added Toggle Right Left Hand playing when string 6 touched for few secs.
(Once Left Hand is set, the String 1 becomes String 6 and vice versa)
- Added Toggle Octave doubling when string 1 touched for few secs.
StrumPad listens for midi notes in a range from note 21 to 108 (A0 to C8)
IMPORTANT, DON'T TOUCH THE STRUMPAD DURING POWER UP, IT IS CALIBRATIONG THE STRING TOUCH SENSORS! IF TOUCHED DURING POWER UP, THE STRING WILL NOT BE RESPONSIVE TO TOUCH.
- Added Handle for ProgramChange; Program Change midi messages will pass through StrumPad
- Added Handle for AfterTouchChannel; Aftertouch Channel messages will pass through StrumPad
- Added Handle for PitchBend; PitchBend messages will pass through StrumPad
- Handle for Control Change messages exist already; all CC messages will pass through StrumPad
The setup is just a MIDI keyboard controller sending midi data to the StrumPad on channel 1 and the StrumPad treating the data and transmitting it to my GarageBand software on my mac through an MIDI to USB adapter. The StrumPad is sending each midi note/velocity values for each 'string' on midi channels 1-6 but it can be reprogrammed to send them on the same channel.
So I have put it all together and wrote the Arduino code for it which I will post. There are few issues with it that need to be worked out and I'm cogitating hard how to best resolve them.
The issues are;
- The piezo sensor is not as good at sensing the fingers striking the pad as the first choice that was the load sensor ( this is a whole other subject ). The piezo sensor needs what I think a better sensing circuit or better code.
- The top PCB needs a couchy double tape so it is not so hard on the fingers when striking. I'm still looking for the tape.
The new Arduino code is working and I'm satisfied with it. For sure it would be best if I gave the player/user a bit of options but this would require additional parts like lcd display and buttons. But for now the options need to be changed in the code itself. I have programmed it to output each String on a different MIDI channel but changing the code will make all Strings output on the same channel 1. Also it is programmed to automatically double each note so we have more Strings playing, so when I hold 3 notes on my MIDI keyboard controller, the Strumpad automatically doubles the octaves and 6 strings will sound when struck. The MIDI note range is also programmed to listen for a specific range of MIDI notes from the MIDI controller that is in a guitars range from note 52 to 88 (E3 to E6). This can be changed in the code only for the time being.
I have ordered and received new PCB boards for the Strumpad. The new PCB board was meant to go with a new plastic case that I have ordered online.
The top PCB;
The bottom PCB;
Inside the enclosure;
And the assembled Strumpad;
Create an account to leave a comment. Already have an account? Log In.
Hey miro2424 Amazing project! I would love to reproduce your work. If, I can build it into a working pad I will surely reference your amazing work. One question though, what CAP and RES values did you use exactly, I see a few 220 (8), 100nF (3), 22pF (2) and one 100 mF? is this correct?
This is one of the most amazing midi controllers I’ve ever seen! I think it’s incredible that you’ve made it an open source project. I wish I knew how to build this sort of thing. Is there any chance you would build and sell one? Regaurdless, I am blown away by what you have done.
to follow this project and never miss any updates
現在、電子ギターを自作中です。これからのスタートとなるのですが、ぜひこの
StrumPadを使用したいと思っています。わからないこともたくさん出てくると思うので、ぜひ質問をさせてください。メールアドレスなども教えていただくと助かります。よろしくお願いいたします。