Homebrew Digital Effects Pedal

Homebrew Digital Effects Pedal
Hi, my name is Colin. I am an avid guitarist, and I am always looking for cool new sounds. I'm a big fan of the guitarist Paul Gilbert, and I heard him play this crazy effect in one of his songs, so I decided I would try to emulate it. The result was a very long endeavor, but in the end a successful one.

 

I have created a digital loop pedal. The pedal itself is based upon the PIC16F877 microcontroller, and is complete with 256kb of RAM for storing sound. The unit achieves true bypass with the help of a relay, and runs on a standard 9V power supply.

If you want to build a pedal like this, be warned- it is a daunting task. The complexity of this project reached the upper limit of what my brain can autoroute on a prototyping board, and was very frustrating many times when it didn't work as planned.

In the end however, I learned a lot. I think this is a great project to try, but only try if you are really dedicated. For those interested, I would suggest you design your own, using mine as a template to know what works and what doesn't, rather than copying directly- though if you wish to copy, you are more than welcome.
 
Remove these adsRemove these ads by Signing Up
 

Step 1Audio-only demo

Audio-only demo
This is an audio-only demo I recorded.



« Previous StepDownload PDFView All StepsNext Step »
48 comments
1-40 of 48next »
Feb 23, 2010. 5:43 AMgmoon says:
Hey, I like it! The playing and the style isn't my thing, but it sounds really good.

Is the PIC 16 bit ? (or a DSP chip?) Because the sample quality is much better then most 8-bit audio projects I've heard. Even more amazing 'cause your using a serial RAM...
Jan 12, 2012. 1:04 AMmarcjwebb says:
hi there, hope you are well, as i am sure your no stranger to this, i was hoping to pick your brains on the digital loop pedal that you made, here are my questios as follows, - how are you programming your microchip is it an arduino? - is the unit capable of layering or overdubbing ? - can more memory be attached to the unit? - have you ever used the ardiono boards? - could something similar be achieved with the ardiono? -does the guitar go through a pre-amp? - how much did your unit cost in the end? sorry for all the questions lol but i am realy intregued as this is by far the best diy unit out on the entire internet to date and would like to base my project on yours and make adaptations. many thanks, sorry for all the questions lol, marc webb
Feb 23, 2010. 7:44 AMgmoon says:
How about the PIC itself (aside from the ADC sampling resolution)--is it a 16-bit uC, or an 8-bit?

Sometimes you can hide low res sampling by piping into reverb, etc., but this really does sound great...
Feb 23, 2010. 2:23 PMgmoon says:
Wow-excellent for an 8-bit banger...
Jun 5, 2011. 4:30 AMBarnaby Walters says:
This is pretty impressive! Have you considered using the dsPIC family, as they're built for this kind of digital signal processing? I am not entirely familiar with them, but they're inherently more powerful, and you'd be able to build yourself at least a 16 bit DAC…

Well done, I look forward to seeing more of your work!
Barnaby
Mar 17, 2011. 9:06 AManassundala says:
NICE PEDAL BRO...
CAN U SEND TO ME SCHEMATIC PLEASE
IF U WANT,U CAN SEND TO ahmad_dimarzio@yahoo.com
tq b4
Jan 16, 2011. 6:53 AMlufox15 says:
Great Work! i have a question which is the sample time that you can get with the pic16f877?.
I was trying to make a similar project but i can only get a maximun sample time of 625Hz.
Thanks.
Oct 17, 2010. 10:04 PMmicroman171 says:
Hey Colin,

I'm working on my own digital pedal based on the PIC18F26J11 (Just what I had laying around). I'm not sure what effect I plan to try to create, but It's fun to have a go.

At the moment, I am trying to get the chip to act as a buffer, all I want it to do is read the analog into a variable, and then output it to the DAC (Mine uses 4.7k and 10k resistors, which I know gives a lower quality signal). I have a lot of trouble with noise, and have been using 100nF capacitors in places to see what I can do.

I have found I should have one series with the input, series with the output, and then one to bypass the output to ground.

I have tried the opamp circuit you have presented, but I have no idea what it's purpose is, how it works, or if mine even worked the way it was supposed to.

Could you please let me know how it was supposed to work, or even just tell me how the opamp is configured (-ve voltage amplifier?). I guess it is supposed to change the guitar signal into a 0 - 3.3v representation of the signal?


Cheers,

MM
Oct 18, 2010. 11:13 AMmicroman171 says:
Hey Colin,

A bias means to set the upper limit right? Sorry, I'm new to opamps. At one point, I was inverting the signal before the output, and found it made no change at all.

I'm looking at building a flanger effect at the moment, as it looks doable. I need about 20mS worth of recording, and then mix that into the live feed.

It's great you posted your instructable, as it has been a stepping stone. A friend suggested I make a digital pedal, and I leapt right in knowing all about ADC and DAC. The problem came with noise, and was solved with capacitors.


Cheers,

MM
Oct 19, 2010. 11:10 AMmicroman171 says:
Hey Colin,

I spent a whole lot of time learning, and in the end I designed my own opamp circuit. There is a 10k input resistor and an 8.2k feedback resistor. The +ve input is at 1.03v through the use of a 10k and a 22k divider. My simulation predicted this will create a 0v to 3.3v wave from a -1.8v to 1.8v input.

I still have two 100nF caps on the output, one to ground and one to output. These seem to cut down on noise dramatically.

It was an excellent experience.


Cheers,

MM
Oct 9, 2010. 10:02 AMBaseball24_7 says:
Hey Colin353 this is the Rhino, i really want to build this pedal, can you help me with the schematic, and programming. You Rock, Paul Gilbert also
Oct 12, 2010. 6:10 PMBaseball24_7 says:
Do you have a clearer drawing of the schematic.
Aug 29, 2010. 5:07 PMRogerClark says:
I Colin. I was trying to build a something similar using a PIC16F690. But just to do effects. But I've realised that I don't have enought internal RAM and that the PIC16F690 can't address external ram (easily). So I may need to upgrade to something from the 18F series. Are you getting a fast enough data rate to your RAM using the SPI ? I was hoping to sample at at least 20Khz, and crank the PIC's clock up as high as it would go, but access speed of external ram would be a serious issue for effects like reverb etc which need a large buffer which can be accessed for virtually every output sample. BTW. I don't know if you've seen this article on a final year project at Cornell http://courses.cit.cornell.edu/ee476/FinalProjects/s2003/Gjr8tl74/ECE476FinalProject/Index.html
Aug 30, 2010. 3:13 PMRogerClark says:
Thanks for the reply, I totally agree with all your points. My project started off just being a practice amp that I was going to put inside the guitar (to hook up to headphones), but then I had the idea of using the 16F690 that I had in my box of components, and of course things sprialled on after that. But I can see that the 16F690 is not suited to this application, because it doesn't have lot of intenal ram. I'm still going to carry on with this project as I may be able to do some basic effects without ram e.g tremulo or I may be able to do some FFT stuff that may be able to do some wierd stuff to the sound. I'll also think about whether its worth starting a separate project to do it properly, and whether a PIC microcontroller is the way to go or whether a different one eg AVR would be better. I'll let you know how I get on.
Aug 26, 2010. 4:45 AMsomorastik says:
have you updated the software features echo and delay?
Aug 19, 2010. 11:25 AMski4jesus says:
ha! well i have an actual stratocaster! :p lol nice guitar!
Aug 19, 2010. 1:01 PMski4jesus says:
yah they rock. i would like to build this project but i dont have the parts. sick guitar!
Jun 21, 2010. 10:28 PMhahaman8 says:
can you scan it? its kinda hard to see
Jun 21, 2010. 10:32 PMhahaman8 says:
or make a digital version of the schematic. Ty!
Apr 14, 2010. 9:38 AMjustine3563 says:
man what did you attach to the potentiometer above to let it change pitch?capacitor?thanks alot!
Apr 14, 2010. 9:42 AMjustine3563 says:
yeah because i would like to make a whammy pedal!thanks
Feb 23, 2010. 10:34 AMhanley says:
hey, looks great
What kind of DAC do you use?
Mar 21, 2010. 1:26 PMPieter-Jan5000 says:
 Hello, I started working on a project like this a few weeks ago. How did you put your PIC ADC into 8-bit mode? Or did you just leave out the last two bits of the 10 bit conversion?   

And how did you write the code so that the playback frequency was exacly the same as the recording frequency?

Thanks!! Awesome stuff
Mar 12, 2010. 6:50 AMoweng4000 says:
Colin,
 
Would the song be Get Out of My Yard?

From,
Owen
Feb 23, 2010. 3:39 PManfegori91 says:
Oh, this is great¡

how many samples / second?

Maybe I'll make something like this, but using the Btc Alghoritm of roman black to encode and decode audio.
Feb 24, 2010. 6:19 PManfegori91 says:
Umhh you're right. Since the BTC algorithm is not indeed for recording and play good quality sound, it can be useful when you need to compress audio (1:8) for other applications, like toys¡

www.romanblack.com/BTc_a
Feb 24, 2010. 1:41 PMalberfilba says:
 Excellent job Collin! But, how many seconds of audio can you store in 256 kBytes (or kBits?) of RAM? What's the sampling rate? It sounds like 44.1 kHz...

Yups! Sorry for so many questions ;)
1-40 of 48next »

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!
17
Followers
2
Author:colin353