The circuit could be broken down into 6 blocks: The Power Supply, the Input Buffer, the Dual PT2399 Stage, Output Adder, Analogue Switches, and the Arduino Block:
The Power Supply
The Power Supply generates energy and bias voltage for all the circuit:
The LM7805 is a +5V linear regulator widely available.
The Input Buffer
The Input Buffer is a simple op-amp with gain=1. It will present a high input impedance (Zin=470K) and prepare the signal for the rest of the circuit:
The input cap C1 (100nF) will block any DC levels and creates a low pass filter with R1. The fc is 3.3Hz so it won't affect the audio band (fc=1/2piRC=3.3Hz)
The Dual PT2399 Stage
The two PT2399 are in the classic Delay configuration. Not taking into consideration the analog switches the circuit looks like this:
If you want to learn all the details about the PT2399 details read the PT2399 Analysis. The resistors and caps used (R3=R8=R9=4.7K, C7=6.8nF and C11=3.3nF) give us a fc=7.1Khz, they will remove the high harmonics and DAC noise. This low pass filtering is intended in order to recreate the warm organic tone of analog delays. If the delayed signal is not filtered, the resulting echoed sound would be too clean and sterile. Air and walls tend to low pass the signal, attenuating the harsh hi-freqs, this 7.1KHz filter will do that,
How to control a PT2399 delay time with Arduino:
The Arduino chip will control the PT2399 delay time by controlling the amount of current flowing out of pin 6:
The R13 Resistor:
To control the PT2399 using current, ideally, we need to modulate it from 5.4mA (35ms) to 0.05mA (600ms). With R=V/I and V=2.5V, the resistor should be:
R=V/Imax =2.5V/5.4mA= 460R (35mS)
Using a 460R resistor, we can modulate the delay from 35ms, to 600ms.
In practice, we are using an 8bit PWM to generate the 2.5V. If we use a 460 resistor, we would be able to get very nice resolution close to the 35ms mark, but when we try long delays (around 200ms) the resolution is very bad.
To fix this a 4.7K resistor is used, it gives a fantastic behavior and better resolution in the whole range but with the side effect is that the shortest delay we could achieve is around 60ms.
With a 4.7K resistor, we ensure that we can cover the whole span of time from 0mA ( 300 seconds) to 0.50mA ( 60 mseconds)
The Output Adder
It is the last stage of the circuit, it will give a low output impedance to preserve the sound quality on the pedal chain. Its main task is to add the original guitar signal together with the different delay paths or "taps":
The output signal will be a mix of the dry signal (Audio_in) + Delayed signal (Output_Tap) + Middle Tap (Middle_Tap). Two switches will give the possibility of adding or not some of the taps. The amount of dry/wet signal will be controlled by RV2.
The 100ohms output impedance will depend on the op-amp, usually, all modern op-amps have a Zout<100ohms.
The Analog Switches
The Time manipulator uses 4 analog switches (CD4066). They will allow the signal to follow different paths and create different sounds. You will have the possibility to place the PT2399 in series (extending the time and definition of the delay time) or in parallel (creating different sounds like reverb or chorus).
The principal configurations are:
Briefly going over the most important configurations, we have:
The Arduino Block:
The Arduino UNO chip (ATMEGA328P-PU) is the brain on the circuit. Its main tasks are:
Details of the circuit:
Last Edit: 3 years 5 months ago by Ray.
The administrator has disabled public write access.