The Time Manipulator is an Open-Source Arduino microcontroller based Delay/Echo/Reverb guitar pedal. This is a short guide to start programming your own effects:
1. What Do You Need to Know About the Hardware?
You need to know which pins are used to connects the hardware resources (LEDs, button, encoder, TAP foot-switch, True-Bypass foot-switch, PWM to control the delay time, etc). Its important so in the effect codes, you will know which pins need to be read or write.
This image resumes the hardware configuration:
You will see how the pins are mapped (#define) at the beginning of any code:
Where DELAY1/2 are the PWM signals that will control the delay time on the PT2399 chips, SWA/B/C/D are the analog switches (from the CD4066), LED1/2_G/R are the leds 1 and 2 and the Green and Red lines, ENC_A/B/GND/PUSH are the encoder related lines (+ the push button which is integrated on the encoder itself), the BYPASS_DETECT will detect the True Bypass foot-switch and the TAP_DETECT will detect the TAP foot-switch.
3. Getting Ready the Microcontroller
The Time Manipulator uses the Arduino UNO microcontroller, the ATMEGA328P-PU (not to be confused with the ATMEGA328-PU), there is a topic that explains how to get the microcontroller ready, burning the Bootloader (if the chip is brand new) or loading any code:
4. Lets Start Coding!
We have a series of pedal effects already coded and available in the forum. All these effects have "educational" purposes. You can have them as a base to start improving or coding your own effects. Therefore, these codes have a balance between performance and complexity so you can understand them easily and have fun
Going from easy to difficult, the natural evolution is: