I got asked to make some sort of trigger pads for the foot section of an organ working over midi to a electric piano and my friend wants it to be pressure sensitive so we can program in the note velocity when he's not using the organ sound.


That is what I try to achive. I want the pads to not just be on/off but also be able to control the velocity of the midi note.

Im planning to use a Adruino Uno with a MUX Shield II from Mayhew Labs to get 36 analog inputs. Not exactly sure on the wiring yet but have looked at some guides and videos on google to get a feel for how it can be made.

All these 36 piezo-"sensors" is planned to register how hard you push the pedals and then send out a MIDI signal with a specific note correspondig to the pedal, and velocity to the electric piano so you can control the low notes with your feet.


Just like that but more pedals and a lot cheaper.

Will the Arduino be able to read the analog output of the piezo sensor even though it's going through a multiplexer?


You're asking about the Mayhew Labs multiplexer. Looking at their user guide:

The Mux Shield uses TI 74HC4067 analog multiplexers (mux’s) for input functionality

I'm very sure those will be able to pass an analogue signal.

Bear in mind though that Piezo sensors respond to a change in pressure. When tapped they will produce a peak voltage that can be read to give a velocity, but they don't respond so well to continuous pressure (aftertouch) in the way that organ pedals might. This is fine if you want to know the velocity at which the pedals are hit, but perhaps not a full aftertouch.

  • $\begingroup$ Thanks for the answer. Du you have any suggestions for something instead of piezo sensors so I get an aftertouch-like response? $\endgroup$ – Minhtanh Jul 1 '16 at 17:39
  • $\begingroup$ @Minhtanh I have tried Force Sensitive Resistors like these and they respond to pressure, though initial velocity might be a bit trickier to measure. Sadly much more expensive than piezo discs though... $\endgroup$ – Andy Jul 4 '16 at 7:22

A multiplexer should be able to do what you want, as could a multi-channel analog to digital converter.

A multiplexer "aligns" a particular signal line with a pin on the microcontroller, like a rail switch, and then the microcontroller reads the value of the signal.

An analog to digital converter actually reads the value at the signal, then stores that value in a register.

The microcontroller has to send a signal to the MUX to tell it which signal it should align, and it would also have to have a digital communication with the an analog to digital converter (ADC).

You can sometimes get faster connection with a MUX because you can sometimes use digital I/O to signal the MUX to change (rather than a bus communication), but there are also issues with a MUX in that the device might short two input signals together before switching is complete (make-before-break). A MUX might also buffer the signal such that you're not actually connected to the true device. Sometimes these are advantages, sometimes they're not.

It's up to you to carefully read the datasheet on all of the devices and make sure what you're getting is what is suitable for you.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.