Introduction: Arduino MEGA Guitar Pedal
pedalSHIELD MEGA is a programmable guitar pedal that works with the Arduino MEGA 2560 and MEGA ADK boards.
The project is Open Source & Open Hardware and aimed for hackers, musicians and programmers that want to learn about DSP (digital signal processing), guitar effects, and experiment without deep knowledge on electronics or hardcore programming.
You can program your own effects in C/C++ with the standard Arduino IDE tool and get inspired using the library of effects posted on the pedalSHIELD MEGA online forum.
- Based on Arduino MEGA 2560 / ADK (16MHz, 8KB RAM).
- Analog stages using TL972 rail-to-rail operational amplifier.
- ADC: 10bits.
- Output Stage: 16 bits (2x8bits PWMs running in parallel)
- OLED Screen: 128x64 resolution, 1.3 inches (also compatible with 0.96"), I2C.
- 2 Configurable push buttons.
- 1 Configurable switch.
- 1 programmable blue led.
- True Bypass Foot-switch
- OLED Display
- Input Jack, 1/4 inch unbalanced, Zin=0.5MΩ.
- Output Jack, 1/4 inch unbalanced, Zout=0.1Ω.
- Power supply: power taken from the Arduino MEGA board (12V DC).
Step 1: Get the Components and the PCB.
All the electronic components used are through-hole and easy-to-find. You can see the complete list of components here:
For the PCB you can build your own using veroboard and following the schematic, also in the EletroSmash Store there are PCBs for sale:
Step 2: Soldering the Circuit
This tutorial that explains how to build the pedlaSHIELD MEGA step by step with photographs and detailed information:
There is also a Flickr gallery with high-res photos of each step:
Step 3: Learning Electronics - Understanding the Circuit
This shield that is placed on top of an Arduino MEGA has three parts:
- Analog Input Stage: The weak guitar signal is amplified and filtered, making it ready for the Arduino MEGA ADC (Analog to Digital Converter).
- Arduino MEGA Board: It takes the digitalized waveform from the ADC and does all the DSP (Digital Signal Processing) creating effects (distortion, fuzz, volume, delay, etc).
- The Output Stage: Once the new effected waveform is created inside the Arduino MEGA board, this last stage takes it and using two combined PWMs generates the analog output signal.
If you want to go deeper and learn all the details, there is also a circuit analysis:
If you have problems with the circuit, there is a topic on the forum for troubleshooting:
Step 4: Start Programming !
Check the " How to Start Programming pedalSHIELD MEGA" guide. It is a short guide to start coding this pedalSHIELD MEGA guitar pedal. The goal is to understand the basic ideas and then progress as fast as possible through a series of examples.
The example codes that are already on the forum, going from easy to difficult are:
- Clean Pedal
- Volume/Booster Pedal
- Distortion Pedal
- Fuzz PedalBit-Crusher Pedal
- MetronomeSineWave Generator
- Daft Punk - Octaver Pedal
- Delay PedalEcho Pedal
- Reverb PedalChorus Pedal
- Vibrato Pedal
- Chorus + Vibrato
- Multi Effects: Delay + Distortion + Fuzz + BitCrusher[/li]
Step 5: Learn and Create Your Own Sounds
The best way to progress is to use the examples from the forum and modify them to fit your set-up or style. Just changing some values or parameters can make a great difference.
Once you have understood the basic examples, you can think about how to create your own new pedals (reverse delay? asymmetric fuzz?) or mixing some of the examples (fuzz+echo? distortion+delay?). There are tons of unexplored effects to be discovered ;) !
There is a cool review by Blitz City DIY in YouTube: pedalsHIELD MEGA Review
Participated in the