Arduino-based pedal ([pduino])

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 :

Arduino-based pedal to trigger effects in Pure Data for the guitar

Arduino-based pedal to trigger guitar effects in Pure Data

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 :

Expression pedal used with the Arduino-based pedal for Pure Data and guitar

And finally, the inside :

Inside of the Arduino-based pedal for Pure Data and guitar

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.

This entry was posted in Arduino-based pedal and tagged , , , , , , , , . Bookmark the permalink.

21 Responses to Arduino-based pedal ([pduino])

  1. walkenca says:

    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 ?


    • 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.

  2. dave wall says:

    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.

  3. Oli44 says:

    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!

  4. Pingback: Guitar effects pedal with Pure data and Arduino |

  5. Tom Price says:

    Possibly it’s easier to hack a Guitar Hero whammy bar pedal than make your own mechanism 🙂

  6. Pingback: Raspberry Pi multi-effects : Overview of the setup | Guitar Extended

  7. Pingback: Raspberry Pi ทำเอฟเฟคกีต้าร์ | Raspberry Pi Thailand

  8. Toby says:

    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.

  9. Lore Olivas says:

    Hello, first of all, this page is awesome, thanks for sharing all your work, i do have a question, do i need arduino to work with Pd and my guitar?, i already have a pedal board, the gio, from apogee, it¡s an interface and also a midi controller and i have the pedal expression that can be connected to my interface, can i work that way with pure data? or is better with arduino, what’s the difference?

    • Hello,

      You don’t need arduino, provided that the pedal you have can interact with your Pd patch. If your pedal is a midi controller then it should work. All you’ll have to do is connect the controls in your patch (sliders, numbers, anything you’d want to use dynamically while playing) to your midi controller. You’ll most likely want to us the [ctlin] object. Read this page for more info about how to use midi within Pd :

  10. Jamerman says:

    How do I view the schematics you posted on github on windows? I think it’s meant to be opened with Geda, but that’s Linux only?

  11. Xanax says:

    Its like you read my mind! You appear to know so
    much about this, like you wrote the book in it or something.
    I think that you could do with some pics to drive the message
    home a little bit, but instead of that, this is great blog.
    An excellent read. I’ll definitely be back.

  12. wblakesx says:

    Is it possible to use a rheostat instead of a potentiometer?

    • I believe that a rheostat is a potentiometer wired so that it behaves like a variable resistor. Pots connected to an arduino have to be wired as potentiometers and not as rheostats.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s