Difference between revisions of "CGS analog shift register (previous version)"

Jump to navigation Jump to search
(Created page with "center|600px| '''CGS34''' the '''CGS analog shift register''' module is an analog control voltage shift register, three stages in length. It d...")
m (Rob Kam moved page CGS analog shift register to CGS analog shift register (previous version) without leaving a redirect)

Revision as of 10:37, 28 December 2018

Cgs photo cgs34 asr.jpg

CGS34 the CGS analog shift register module is an analog control voltage shift register, three stages in length. It duplicates the functionality of the Serge ASR, but goes about it in a very different way. It is great for producing "arabesque-like" sequences, trills etc., when used with VCOs. Of course it's use is not limited to VCOs only.

Unlike ASRs produced using "bucket brigade" techniques, the CV outputs are constant from the beginning of the cycle to the end - there is no "charge period" in which a brief glide is heard.

The CV input/output range of the ASR is approximately +/- 10V.

While untested, the module should work on +/-12 volts.

How to use this module

Connect the CV input to a voltage source such as a keyboard or sequencer. Connect the three CV outputs to the three modules to be controlled. Connect the clock input to a LFO or other low frequency trigger source.

To cascade the unit with others, connect the clock inputs to the same trigger source, and connect the third CV output of the first ASR to the CV input of the second ASR. Unlike the Serge ASR, there is no need to used delayed trigger pulses.

A little on how it works

The schematic of the Analog Shift Register.

The ASR is nothing more than a 4 stage analog memory. Each cell of this memory is a capacitor, followed by an LF356 buffer.

Addressing each stage of this in turn is half of a 4052 4 pole analog switch. As each cell is addressed, it is forced to follow the incoming voltage. The cell remains connected to the incoming voltage for a full clock cycle, giving it ample time to reach the correct level.

At the same time as this is happening, there are three other 4 pole analog switches that are pointing to each of the other three cells. The first of these points to the cell filled the previous clock cycle, the second to the cycle before than, and the third to the one before that.

As such, once each cell is filled, it remains that way for 3 clock cycles, then is filled with a new voltage on the fourth. The other three cells are cycled in turn to the 1st, 2nd and 3rd outputs.

The TL071 and 4024 form the clock pulse to address converter.

The remaining circuitry is an input buffer and three output buffers designed to adapt the voltage to that suitable for switching by the 4052. The input range of the ASR itself is approximately +/- 10V.


The component overlay. Connections can be determined from the circuit diagram.

The capacitors specified as CX on the circuit board and diagram are the S&H capacitors and as such should be high quality low leakage sorts, such as polypropylene. None the less, quite satisfactory results can be achieved using common 100n MKT capacitors. The value of them will depend on the speed at which you intend to run the unit. The larger the capacitor, the lower the maximum speed at which it will run, but the longer it will be able to hold the voltage without drooping. 47n is probably the smallest that should be used, though drooping becomes quite noticeable at slow speeds. It may be possible to go as high as 220n for really slow operation, though this will somewhat limit the maximum speed (see the notes below). Do NOT use capacitors in which the dielectric is exposed: one such example is block shaped and green in color will not work.

The 10k and 22k resistors in the input and output buffers should be matched 1% metal film for best results. Where do you get matched resistors? Buy a few more resistors than you need (maybe twice as many), and compare them with your multimeter!

Other FET input op-amps may work in place of the LF356. CA3140, or TL071 would work though may introduce minor offset errors. I don't recommend TL071 though. CA3140 may reduce the rate of any "droop", but you may need to hand select them to remove any offset inconsistencies.

Before you start assembly, check the board for etching faults. Look for any shorts between tracks, or open circuits due to over etching. Take this opportunity to sand the edges of the board if needed, removing any splinters or rough edges.

When you are happy with the printed circuit board, construction can proceed as normal, starting with the links first, followed by the resistors, the IC sockets if used, then moving onto the taller components.

Take particular care with the orientation of the polarized components such as the electrolytics and ICs.

When inserting the ICs in their sockets, if used, take care not to accidentally bend any of the pins under the chip. Also, make sure the notch on the chip is aligned with the notch marked on the PCB overlay. Note that sockets introduce a point for future failure. I only use sockets when I expect to try several ICs for test purposes.

For those who wish to take things further, here is an alignment procedure:

  • Connect a constant voltage to the input. Connect one output to a VCO and the Clock input to an LFO or clock running at a few hertz. You should get a constant tone. If there is a stepped warble, one of your ICs has a different offset to the others. You can work out which chip it is by holding your finger on the pins of each chip in turn. Swap the affected chip for another. Repeat if needed until you get a constant tone. I have only had this happen with LM3140/CA3140 chips.
  • Feed around 6 volts into the input and check each of the outputs are the same. They should be if you correctly matched your resistors. Adjust parts as needed.
  • Feed around negative 3 volts into the input and check each of the outputs are the same. This is where you are likely to find variation. Place a 100 ohm resistor in series with the 10k resistor between pins 13 and 14 of the TL074. Check again. Adjust the value of this resistor as needed. You could use a 500 ohm trimmer if you wish. A digital meter will often have a greater resolution in the +3.2 to -3.2 volt range. Use this range for more accurate readings. A VCO is probably the best "meter" available to you. Use your ears to judge if you have the same voltage going in as coming out.


  • Being a CV processor, this module requires nice clean power rails. Initially mine was exhibiting slight stepped voltage shifts (resulting in pitch shifts). I traced these to the mass of flashing LEDs in the next module - a module that should have been connected to my "dirty" power supply.
  • Due to the inversion used in the inputs and outputs of this circuit, the voltage droop is upside down! As the capacitors lose their charge, the output voltages will rise! Also note that the expanded range of the input will also amplify the rate of droop.
  • The range available in this module really is excessive. you can half it, improving your hold time and precision with a few parts changes. All 10k resistors associated with the TL074 should be replaced with 22k resistors. The four 22k offset resistors (the ones connected to -15V) should be replaced with 47k. Alignment is as already described. This has been tested.
  • If you choose to use larger capacitors for CX, you may wish to cut the track between pin 14 of the TL074 and pin 3 of the first 4052, and insert a resistor between them. A value around 100R to 330R would probably be suitable. This is to limit the stress put on the devices. According to my data books I can see no reason why this would be needed. If the 4052 fails for no apparent reason, or either the 4052 or TL072 run too hot, this is the fix. If the 4024 runs too hot, it probably driving a failed 4052. This will further limit the maximum speed at which the module will run, so you will need to settle on a suitable compromise.
  • The +6V rail is NOT used. It is merely part of a general voltage bus I am using on a private project. The unmarked capacitors on this bus can be omitted, or can be anything in the range 10n to 100n. Ceramic will suffice as these are merely for decoupling.

Parts list

This is a guide only. Parts needed will vary with individual constructor's needs.

Part Quantity
10n 1
100n 7
CX (47n) 4
10uF 25V 3
1k 3
10k 1% 5
15k 2
22k 1% 8
100k 3
1N4148 1
TL071 1
TL074 1
LF356 4
4024 1
4052 2
Ferrite Bead (or 10R resistor) 2
0.156 4 pin connector 1


  • A 10 to 22 ohm resistor can be used instead of the ferrite bead. If you don't care about power-rail noise, just use a link instead.
  • PCB 6" x 2" with 3mm mounting holes 0.15" in from the edges.

See also


External links