Creating A Custom Guitar Pedal With Arduino (Follow Along And Advice Post)

I am trying to create a custom guitar pedal that is able to be customized to be able to hold different effects such as a delay, fuzz, distortion, ect. I am kind of new to this but I always wanted to build myself something really cool so why not start here!

I am currently looking to create a custom PCB over using a breadboard since I want to also be able to put this within a Guitar Pedal enclosure and I think the breadboard would be too large to fit and just designing a PCB would be better overall.

I would love if anyone would contribute towards my project, any help or any suggestions would be greatly appreciated.

I will be slowly updating this post with my progress with the project if you want to build along with me and help troubleshoot issues or even create custom guitar effects.

1 Like

Without knowing your tool set I recommend you get a copy of the arduino cookbook, then skim it cover to cover. After you have skimmed it read the permanente sections. I recommend you do this before spending any money and in the process fdollow several posts on this forum with similar projects.

It isn't clear enough to me, what do you exactly need to create? Try having a look at this project, but you can't start with that, better if you study some Arduino basics first, as @gilshultz told you...

You'll need one of the more "powerful" Arduinos, at least if you want to make a "good" effects pedal. The basic UNO or MEGA with the Atmel AVR chip only has a 10-bit ADC and it can only sample accurately up to about 17kHz And, there's no built-in DAC. And, then it's just little slow for much processing, etc.

The first thing you should probably do is just analog-to-digital-to-analog conversion. If you can pass audio through, that's a good start. Then maybe digitally change the volume. (Volume adjustment is simply multiplication so it's about the easiest thing you can do.)

It's a LOT easier to start with analog effects (1), but you need digital (memory) for delay effects. There was a famous book called Electronic Projects For Musicians and it looks like it's still available.

DSP (digital signal processing) is generally "advanced programming".

If you don't know anything about digital audio, the Audacity website has a nice-easy Introduction to digital audio

There is a FREE online DSP book. It's not specifically for the Arduino or audio effects, but if you know what you want to do it should be helpful.

(1) Once you have a working "digital audio processor" everything gets easier because it's all software.

1 Like

Hello, I want to do the same thing so if you need help with the code part I can try to help you but for the electronic parts I have more difficulties and I want to know if you agree to share with me the progress of your project to do the same thing on my side ?

@DVDdoug posted good suggestions. There are lots of projects using the pt2399 delay IC which is an quick and easy way to get an audio delay effect

Ok but I'm sorry, I still can't get exactly your request. First, what is "the same thing" you refer to? You want to process signals in real time with Arduino (with all the required data processing), or create a more simple (and flexible) pedal switcher (called "looper") to be used with "real" guitar pedals? It's still unclear to me, sorry, but until you provide more information along it's hard to say...
If you need a "looper" you can find a lot of sources over the net, like THIS nice project.
If not, you better give more details about it.

If you just need to know how to change the breadboard approach (used just for prototypes) to get to a PCB it's a different question. But keep in mind there are also other solutions between them (e.g. a pref board).

I want to create a pedal who can make differents effect (like distorsion, wah wah, tremolo, others and also looper if it's possible) so I imagine a pedal with OLED screen who display the current effect, push button, two scroll wheel for config the require settings of the pedal effect and that's it (sorry if my english is not good i'm french)

Interesting project, but you should keep in mind that real-time digital signal processing is not exactly an easy task, especially if you have never had previous experiences on both Arduino and audio/DSP processing.

I don't know your experience, but if a delay effect could be almost easily understandable (just need to replicate the input with a variable time shift) together with tremolo (just "zeroing" the input signal at a specific rate and duration), many other guitar effects aren't, and I don't know if you really know how those effects work (that's important to be able to reproduce their behaviour).

Just to say, you included a "distortion" effect, but first of all you should be aware of the fact you can have many "distortion" methods, starting from the "overdrive" (simulating a tube amplifier with a signal pushed past its input, so the signal is "squared" on peaks with kinda "soft clipping", made by Tube Screamer for example), up to full "fuzz" (hard clipping, i.e. "squaring" any input signal that's higher than a specific defined level).
Or other effects like wah wah that implieas a digital frequency filtering (remember, it must be in real-time, you can't have any delay longer than a dozen of milliseconds!), or chorus, reverb, flanger, and so on... Not to mention the fact you shoud need to have those effects act in a chain, so the problems sum.

Lastly, about the "looper" I must clarify (sorry if I wasn't clear enough): I was talking about a particular device/pedal to automatically change (physical) effects chain connections with a single foot button press (like the one I liked you), and not to another effect pedal able to record and playback the input (often called a "riff recorder"), allowing the guitarist make multiple parts
The "looper switch" is used with all the standard effect pedals, and avoid the guitarist from turning them on and off or change the wiring to change the setup for a song or a section requiring a different sound. But this device is much easier to build, because it doesn't involve any digital signal processing, it just changes the signal path along the various pedals (you can see it on the link I have previously provided) using a bunch of relays.

PS: just to be clear, I normally play keyboards on my (Genesis tribute) band, but I can also play (and know) electric guitars I had up to a couple of years ago...

Check out these pedals.

In their forum there were programs for various effects.

Thanks, I'm interested in understanding how they implemented the effects in their code, but unfortunately I can't see any because the forum throws errors like this:

Rendering Error in layout Message/Item : array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.

I have downloaded some examples out of curiosity. You can check them out.

pedalshield_uno_pedal_examples.zip (18.7 KB)

Thanks. As far as I can see, it seems only a single effect at the same time can be implemented, so a digital "multi-effect" pedal can't actually be made out of those kind of examples, am I right?

Why not? I don't see what prevents you from programming several effects at the same time. There would only be a problem if the microcontroller chosen is not fast enough or the calculations in the program are too complex to execute in real time.

Thank you for everyones input to my project! I am very excited that there is alot of people interested in helping me in my venture!

@gilshultz thank you I actually have taken a full course in college that took us deep into the arduino programming for little stuff like temperature monitor, light activated systems and such but it was very basic and wanted to move on to more advanced projects and less that I feel like my 7 year old cousin can do on a rainy saturday afternoon like most of the lab classes I had in college felt. I really want to learn as much as I can for arduino cause I did have fun with the small project and I feel like the potentional of this tiny machine is limitless is there any books other then the cookbook i can get?

@docdoc Thank you for your replies and I am excited to learn more from you since you seem to really know alot about arduinos and also alot about audio processing! I am also a guitarist and drummer for the past 15 years since I was 10 years old! I would love to see some videos of your genesis band in action that would be sick! also what is your guitar collection looking like!

I really enjoyed what @flashko said and he is on the same track as what I was thinking about my post was very quick and general and tbh I didnt think anyone would even see it let alone actually want to help!

@DVDdoug what do you mean by more powerful like what would you recommend I start my project with so I dont buy like 3 arduinos figuring out which is the best to start my venture with? Do you think the mega is a good place to start?

Thank you again to everyone for your replies and I await more! I am going to try to be more active here but I have alot of class and work so its a bit difficult but I really want to get this project going!

1 Like

If you`re interested in these kind of things look for Teensy.

First, "several effects" usually means "chiaining" effects, and it needs to "serialize" each effect block (the output of one must be as the input for the next one in chain) so the output needs to be stored in memory up to the final block, where the result must be sent to the pedal output.
Second, such "chaining" requires a kinda FIFO memory management and it must be efficient enough to avoid excessive output lag.
Third, the "chaining" must be defined programmatically (e.g. I want a fuzz first, then a flanger and a reverb at the end) and all this must be implemented especially for user interface (multi-effect pedals often have a display and at least three or four buttons to "navigate"). Do you think it's an easy task to add?
Fourth, I had a look at the code. To achieve some kinda efficiency in DSP there are a lot of "low-level" statements: do you think our OP can be expert enough to make the necessary modifications to the code? I hope so, but I doubt it.

Nice, music is always a good thing to make the mind open and flexible! :slight_smile:

Hehe, even if I can play guitars, I don't have a guitar collection because I primarly play keyboards, I've had a single Fender korean clone but in the next future I think I'll get a 12-strings electrified guitar because there are (a few) songs where Tony Banks plays it together with Rutherford and Hackett guitars...

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.