
Quad VCO

This was my first module for the
Bergfotron. It was originally based on a Doepfer PMS quad VCO
board. The PMS was a polyphonic modular synthesizer kit, that
Doepfer developed in the early 80s. The board worked fairly well,
but consumed quite a bit of power, because of the chip heaters. Also the oscillators had a slight
tendency to sync (lock) when the frequencies were really close. Therefore I have replaced it with
ASM-1 VCOs.
The VCO board only has sawtooth and pulse waves. Therefore I have
added waveshapers that produce triangle and sine waves. These are
my own circuit, based on the
Moog 921.
I have also included a VCA for each VCO. This can be used for
velocity sensitivity or connected to an envelope generator, if I
want loundess control of an indivdual VCO. It is also useful if
you want one VCO to amplitude modulate another.
On the module there is a mixer, with level knobs for each VCO. If
you turn the mix knob fully anti-clockwise, that VCO will be
removed from the mix and routed to the jack that normally outputs
the raw triangle wave. This is important if you want to route one
VCO to another destination, but still want to use the VCA.
To control the pitch, I have designed my own CV quantizer. It is
based on John Simonton's 4 bit digitizer.
It outputs calibrated octaves and fifths. Because it has 16
steps, it covers 8 octaves and a fifth. It is controlled by a
normal pot on the panel. In addition, there is a fine tune pot.
As the quantizer outputs fiths, the fine tune pot only needs to
cover a little over a fifth. This makes tuning the VCOs easier.
Circuits
VCO core
I have crammed four ASM-1 VCOs on a single 100x160 mm circuit board, to make it a drop-in replacement for the Doepfer board. The module already had four boards and it would be too much work if I had to change the mechanical design.
Issues with the Doepfer PMS VCO
The 555 timers have slightly varying threshold voltages. This means that the pulse width modulation will not be the same from VCO to VCO. This is of course most noticable when you use really narrow pulses. I added trimmers is series with the pots. This doesn't help if you want to control several VCOs from the same CV though.
I already mentioned power consumption. I think my quad module consumes 500 mA from the positive rail and 300 mA from the negative rail. And that is after the heater temperature has stabilized. While heating it is around 700 mA from the positive supply. I'm building a very compact portable synth and I don't have room for huge heatsinks or extra power supplies.
The sawtooth wave is not quite linear at low frequencies. The ASM-1 also has a slightly quicker reset time, which is important when you add waveshapers like saw to triangle.
The fact that the ASM-1 doesn't have a high range trimmer simplifies adjustment a lot. The PMS is rather sensitive to adjust. That's fixable by adding resistors in series with the trimmers, but it is difficult to find room for them on the board.
The oscillators sync slightly even when you don't want them to. They don't lock completely, but the beating is jerky when they are almost in sync and the frequency difference is less than approx . 1 Hz. I think this is the most serious problem and I haven't found a fix for it. The slow beating between oscillators is very important to get that lush analog sound.
No sync
The ASM-1 VCO
My quad VCO board layout is avaliable for
download as two PDF files. One file is the
actual board artwork and the other is a component
placement plan. This board could be an excellent choice for
those of you who build a polyphonic synth or for other reasons
need a lot of oscillators in a small space.
There has been numerous request for board layouts for the other circuits in this
module. Therefore I designed two new boards, one containing four octave
quantizers and the other four saw to triangle/sine converters. These are
improved designs, compared to my original module.
Basic quad VCO, component placement plan
Octave quantizer, board layout
Octave quantizer, component placement plan
Saw to triangle/sine, board layout
Saw to triangle/sine, component placement plan

The ASM-1 VCO clone prototype.
I have designed, etched and populated a small PCB with a clone of the ASM-1 VCO for evaluation purposes. I have also used it to test different matched transistors for the exponential converter and different temperature compensation resistors. The test results were quite satisfactory. As I mentioned in the beginning, I have repalced the Doepfer board with oscillators of this design.

This is my SMD-module with a BC847BS and a tempco resistor. It fits in an ordinary 8 pin IC socket. The top will be covered with a bead of Araldite, as seen on the VCO prototype board.
Temperature compensation
The ASM-1 VCO uses temperature compensation
resistors to compensate for the temperature dependency in the
transistors that are used as exponential converter.
I used two different tempco resistors and compared the tuning
error over an eight octave range. I also measured with an
ordinary metal film resistor instead of the tempco. Measurements
were done at 25 degrees and 38 degrees (centigrade) and the
tuning difference was plotted (see diagram below). My CV
quantizer was used to get repeatable control voltages.
Without compensation, the error is quite small att the high
frequency range. At 7V CV (4186 Hz) it is 19 cents sharp. But
with lower CVs the error increases linearly. At 0V CV (32,7 Hz)
the error is a hefty 300 cent. No, that's not three dollars. It
is three semitones. Completely unacceptable, in other words.
With the 3000 ppm/C tempco, things looked completely different.
Now it went slightly flat in the top range, when the temperature
was rised. The error was -19 cent at 7V CV (4186 Hz). In this
case the error didn't increase at lower frequencies. It got
smaller. At the lowest frequency the error was so small that it
couldn't be measured with my frequency counter.
I also tried with a 3900 ppm/C tempco. This overcompensated
slightly. At 7V CV (4186 Hz) the VCO went 30 cents flat. Lowering
the frequency caused it to get flatter still. At the lowest
frequency the error was -50 ppm.
For the tests I used the 1k SMD tempcos that Farnell sells
(catalog number 732-310 for 3000 ppm, 732-369 for 3900 ppm). The
expo converters were BC847BS dual transistors. They were potted
together with the tempcos to keep them at the same temperature.
Without potting even the smallest movement of air caused the
frequency to drift.

Exponential converters
The two transistors for the exponential
converters should be matched for best tracking. But how well must
they be matched and how large is the error when they aren't quite
perfectly matched? To find out, I plugged in different transistor
types and measured. In some cases I also tested with several
units of the same transistor type, to see how much they differed.
The transistors were three different BC847BS dual SMD transistors,
two different CA3046 transistor arrays, one CA3086 and two BC550C
matched to within 1 mV. The BC8477BS a and b differed 2 mV and
the one marked c differed less than 1 mV. I didn't measure the
matching of the CA3046, but if I remember correctly it it
specified for max 3 mV difference. The CA3086 is normally quite a
bit worse, although I didn't measure this sample.
The conclusion is that if the Ube matching is within 2 mV, the
tracking error is less than 5 cents within an eight octave range.
This should be good enough for most cases. If the thermal
coupling of the transistors and the tempco resistor isn't very
good, the tuning error will be larger than the tracking error, as
soon as there is a movement of air inside the synth. It was wery
difficult to measure the tracking of the dual BC550C, because it
drifted slightly, all the time. And bear in mind that these
transistors were fitted with a large cap for thermal coupling.
![]()
A note to the diagram: Because the frequency counter can't display fractions of a hertz, the measurement error gets higher at lower frequencies. So the large deviation in the lower octaves is really a result of measurement error and not bad matching of the transistors.
This circuit consists of a 4 bit
analog to digital converter that drive a 4066 quad analog switch.
Basically, the swiches select different points on a voltage
divider, consisting of five matched resistors and a trimmer.
These voltages are summed to get 16 calibrated voltage steps. The
summing amplifier needs to have three matched resistors. Total
parts count is two TL074, one 4066 and a stack of resistors.
Although I call it Octave quantizer, it actually outputs control
voltages for both octaves and fifths. It also incorpoates the
fine tuning pot.
My prototype quantizer output the
following voltages (with fine tuning disconnected):
-0,002 V
0,583 V
0,997 V
1,580 V
1,999 V
2,582 V
2,999 V
3,582 V
3,997 V
4,580 V
4,998 V
5,581 V
6,000 V
6,583 V
7,000 V
7,583 V
The exact voltages of course are dependent on the matching of the
resistors.
Saw to triangle/sine converter
I developed this circuit, with the
Moog 921B VCO as inspiration. It uses the classic one-transistor
approach for folding the sawtooth wave into a triangle wave. But
I added a special RC-network to cancel the glitch that comes from
the less-than-instant reset time of the saw wave. I also replaced
the emitter follower transistor with an op-amp buffer. This was
necessary to get the output voltage up to 10 volts peak to peak.
In addition, the circuit was adapted for +-15 volts supply,
instead of Moog's +12 and -6.
The triangle to sine converter consists of two transistor pairs
from a CA3046 array. Properly adjusted, this gives a very good
sine wave. It sounds much cleaner than the diode-limiters that
many synths use to approximate a sine wave. Again the emitter
follower is replaced by an op-amp.

This is the triangle wave at 1047 Hz.

This is the sine wave at the same frequency.
A simple logarithmic VCA is added
to the output of each VCO. It is based on the trusty old CA3080
OTA.
This VCA is either controlled from an envelope generator that is
selected with the thumbwheels or an external signal connected to
the jacks. The AM knob controls the amount of modulation. It is
bipolar, as most of my modulation knobs. So the "off"
position is in the middle (12 o'clock). Turning it introduces
either positive or negative modulation, depending on direction.
If you don't want to modulate the amplitude at all, the VCA needs
to be fully open. Otherwise the signal would not come through. A
special feature takes care of this. In addition to the AM signal,
the VCA is controlled from another signal, that the dual ganged
pot provides. It is 10 volts when the knob is in the middle
position. Turning it either way reduces this DC voltage down to 0
volts at the extreme positions. So when you turn the modulation
amount up, the fixed voltage is automatically reduced.
Waveform router
Used to select among four
waveforms. This avoids using an expensive and space-consuming
rotary switch. I employed one 4053 analog switch per VCO.
To be able to break out the signal from the VCO to separate
outputs, I use a 4066. The signal then replaces the triangle wave
in the front panel jacks. The reason I used the triangle jacks
for this "double duty", is that this feature was added
after I had cut the front panel.
Output mixer
Just a simple summing amplifier with level pots to set the mix. The pots have a built in switch, that breaks out the signal to a separate jack when they are turned beyond zero, counterclockwise (see waveform router).
Because adding the waves from several VCOs can create an amplitude that clips the mixer and following modules, this LED indicator was added. It glows green when there is enough signal and red when there is danger of clipping.
Controls
The following functions are available separately
for all four VCOs:
Octave / fifths selector. Rotary pot with 16
quantized control voltage steps.
Frequency fine. Rotary pot with a range of
little over a fifth.
Control source. Three position toggle switch
seletcts between Keyboard A, Keyboard B or Off.
FM. Rotary switch for negative or positive FM
amount. Because the exact position for no modulation can be hard
to find in 12'o clock positon, the pot has a built in switch that
turns the modulation completely off. Just turn the pot fully
counterclockwise. It's the old transistor radio volume knob
concept.
PW. Rotary pot for pulse width. Turned maximally
counterclockwise, it engages the sine wave.
PWM. Rotary pot for positive or negative pulse
width modulation.
Waveform. Three position toggle switch seletcts
between sawtooth, triangle and pulse wave. It only governs which
waveform is sent to the VCA. All waveforms are available
simultaneously at the separate jacks.
AM. Rotary pot for positive or negative
amplitude modulation. This is a stereo pot which also adds a DC
component. With the pot in off-position (12 o'clock), it adds 10
V DC, to open the VCA fully. When the modulation amount
increases, the DC decreases to 0V at the maximum positive or
negative setting. That allows the AM signal to take the amplitude
between off and full.
Envelope source. Thumbwheel selector that
selects among the nine most used envelope generators, envelope
follower or similar modulation sources.
Output level. This rotary pot controls the level
to the mix output. The built-in switch connects the signal from
after the VCA to the triangle output jack (instead of the
triangle signal), when the pot is turned fully anticlockwise.
This feature came about because there was no room on the panel
for "after the VCA but before the mixer" signal jacks.
Bicolor LED. Glows in various shades between red
and green, depending on the pulse width.
Jacks
CV 1 4. These are 1 volt
per octave inputs for connecting to keyboards, midi-to-CV,
sequencers etc. Inserting a jach disconnects the internal routing
from keyboard A or B:
FM 1 4. This is logarithmic frequency
modulation. Disconnects the internal connection to a future patch
matix.
PWM 1 4. input for pulse width moulation.
Disconnects the internal connection to a future patch matix.
AM 1 4. Controls the VCA, to modulate the
amplitude of the VCO signal. Disconnects the internal connection
to a future patch matix.
Saw 1 4. Outputs for the sawtooth wave
Pulse 1 4. Outputs for the pulse wave
Tri 1 4. Outputs for the triangle wave.
These outputs also double as post-VCA outputs, when the mix knobs
are turned fully counterclockwise and the built-in switch is
engaged.
Mix out. The mixed signal of all four VCOs is
output on this jack. This is the normal output for connecting to
another module, like for instance a filter.

The quad VCO module, seen from the back.