As I mentioned in a previous post, I first built a pedal to control my Pd patch to create live effects for my guitar by using a hacked gamepad.
After using it for over a year, I started being dissatisfied with the low precision of the analog inputs (audible in Pd), as well as with the limited number of inputs available (some weren’t working because it was a cheap gamepad).
A few email to the pd-list helped me decided to build another pedal based on a Arduino Uno board.I choosed the Uno because of its price (around 25 Euros), its small size (about 5 x 8 x 1 cm), and because it has 6 analog pins (for potentiometers) and 14 digital pins (for buttons). I needed 8 buttons to trigger effects and 1 pot for the expression pedal, so that was enough for me.
Here’s a list of the tools and electronic parts I used to build my foot controller :
- soldering iron with thin tip + soldering wire,
- some wire (with multiple thread, or it will break),
- stand with crocodile clips (it’s cheap and it’ll make your life some much easier),
- solderable breadboard,
- 5kOhm linear potentiometer(s),
- momentary button(s) (“push” button with only one position, like in arcade machines. Make sure they’re big enough to be pushed by the foot),
- resistor(s) between 1K and 10KOhm (one per button).
- + everything needed to build the case and the expression pedal (drill, wood, Lego parts, balanced jack cable and female plugs, etc.).
After a few days’ work (or weeks’, because I have a job…), here’s what I ended up with :
The mechanics in the expression pedal were made with Lego parts. The cable between the expression pedal and the main pedal is a balanced (stereo) jack cable, because the pot in the pedal needs 3 wires. Here’s a close-up :
And finally, the inside :
Once the pedal was finished I had to figure out how to install the Arduino IDE, upload firmata, and use Pduino to let the pedal send data to Pd.
If you’re in trouble you can read my other posts about getting started with the Arduino IDE and with Pduino. You can also find some help on the Arduino website.




Bonjour, je fais de la mao depuis quelques temps et il y a quelques jour j’ai eu l’idée de créer ma pédale d’effet. Je suis tombé sur des articles à propos d’arduino … Je comprends que je dois brancher ma guitare dans une prise jack femelle, mais est-ce que j’ai besoin de plus de matériel (a part les fils et le microcontroleur) pour convertir le signal analogue en numérique ? Est-ce que la qualité du son obtenu est bonne ?
Merci
Bonjour,
Je ne me sers d’Arduino que pour contrôler l’ordinateur. La guitare est branchée dans une carte son, le son est modifié dans l’ordinateur, puis ressort par la carte son vers l’ampli.
Les modules Arduino n’ont pas été conçus pour fonctionner comme une carte son (convertir le signal analogique en numérique), ils ont un taux d’échantillonnage beaucoup trop lent pour un signal sonore analogique. En imaginant que ça fonctionne (je crois que certains ont essayé), le son sera probablement assez affreux…
Il faut considérer la pédale que j’ai faite à partir d’un module Arduino comme un pédalier midi contrôlant un rack d’effet : le pédalier en lui même ne produit ni ne modifie pas le son.
This is really great and exactly what I’m thinking of doing. I’ve been playing around with electronics, pd and arduino for only a few months so I have no idea how you put this together (arduino code, controllers; pd I’m fine with). Do you have any more details (schematics, etc) on how you built the controllers or what code you used that you’d be willing to share. I’ll figure it out eventually, but I thought I’d ask, just in case you had the info I’m looking for close to hand and easily postable. Thanks!
Hi Dave,
I don’t use any secret code in my Arduino, just the plain StandardFirmata. Tha data is read in Pd using Pduino (which to me is nothing but a [comport] object tuned to read messages from Firmata).
I don’t share any schematics on the blog because I occasionally sell hand-made pedals, and also because there is frankly nothing special at all. Simply connect all your push-buttons to your digital inputs with a pull-up or pull-down resistor (look up ‘button’ on the Arduino website) and all your potentiometers to the analog inputs (look up ‘potentiometer’…), and that’s it.
Thanks a lot. I should really get familiar with Pduino. I’ve only used [comport].
Yes, you should, specially if you want to send data from Pd to your Arduino (to control leds or another kind of display).
Bonsoir Pierre
félicitations pour ce mélange de matériel et de logiciel. Chouette d’avoir comme point de départ le morceau d’un des groupes les plus déjantés et sympatiques que je connaisse que j’aurai pu voir aux Trans si je n’étais pas barré à la friparti
Vive les légo, et range les bien car ça fait mal quand on marche dessus dans le noir!
Récemment c’est plutôt les petits brins de cables électriques qui me sont rentrés dans les pieds… A cha que âge son péril!
Pingback: Guitar effects pedal with Pure data and Arduino | Linux-Support.com
Possibly it’s easier to hack a Guitar Hero whammy bar pedal than make your own mechanism
http://smokedprojects.blogspot.com/2012/09/arduino-foot-pedal.html
Pingback: Raspberry Pi multi-effects : Overview of the setup | Guitar Extended
Pingback: Raspberry Pi ทำเอฟเฟคกีต้าร์ | Raspberry Pi Thailand
Hi im just wondering if theres any particular reason your using 5k Ohm potentiometers?
Hi, no particular reason. The guy who sold the parts to me told me it was a good value for a Arduino. As far as I know the value doesn’t really matter, but you should probably check in the Arduino documentation and forums first if you want to use other pots.