CGS analog shift register

Jump to navigation Jump to search

CGS34 the CGS analog shift register module (v1.2) 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 with no changes.

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 ASR schematic. Click through for a larger image.

The ASR is nothing more than a 4 stage analog memory. Each cell of this memory is a capacitor, followed by a 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. There are only five connections to the panel (plus 0V if needed). The CV connections are in the bottom right corner of the PCB. The Clock and 0V/GND connection are about 1/3 of the PCB length across from the left, also near the bottom edge.

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. Another example is shown below. They will not work.

Do NOT use this type of capacitor for CX. It 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 works fine, perhaps better than the LF356, but you may need to hand select them to remove any offset inconsistencies. At least use chips from the same batch. The TL071 would work though may cause faster droop.

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. Note that on the ASR board there are guard tracks around the high impedance circuits. These tracks appear to go nowhere, but are important.

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.

The VER1.2 board includes a trim pot to make the alignment procedure easier.

  • 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 adjust the 4k7 trimmer until the first output is the same as the input. 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 (only early PCBS) 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
47pF 4
10n 1
100n 7
CX (100n or 47n) 4
10uF 25V 3
330R 3
10k 1% 5
15k 2
20k 1% 1
22k 1% 7
100k 3
4k7 trimmer 1
1N4148 1
TL071 1
TL074 1
LF356 or CA3140 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 is 6" x 2" with 3mm mounting holes 0.15" in from the edges.


Readers are permitted to construct these circuits for their own personal use only. Ken Stone retains all rights to his work.

See also


  • - PCB artwork for personal use only. Print at 300dpi. Note that the PCB layer is shown mirror image, and may need to be inverted, depending on your method of PCB production.


External links