Tag Archive | VCO

Synthfest UK 2019: my DIY modular gets screen time!

For the last three years I’ve been working hard on a complete modular synth system (which is partly why this blog has been so quiet lately), and at last the graft is starting to pay off!

I took it to Synthfest UK 2019 last weekend to give people a chance to see it, hear it, and more importantly to play it. Happily, it went down very well, and to my surprise the crew from Sound on Sound magazine asked me for an interview! Of course I was excited to oblige, and here (unscripted, unprepared, and with terrible hair) is my 6 minutes of fame…

As outlined in the interview, the synth itself is currently two cabinets. The upper cabinet contains:

  • VCO
  • VCF (24dB low pass)
  • VCA (transistor design with lots of colour)
  • ADS(R) envelope (Decay and Release share a control)
  • Dual lag processor
  • White & pink noise
  • Dual LFO (with waveshaping)
  • Passive ring modulator
  • Passive filters (Low and High pass)
  • Passive attenuators
  • Passive multiples
  • PSU

The lower cabinet contains the following, at the time of writing:

  • Dual VCA
  • AR & ADSR envelopes
  • Envelope follower
  • Gate delay
  • Audio (log) mixer
  • Attenuverting linear mixer
  • CV sources and inverters
  • Dual Sample & Hold
  • Headphone output and extra gain control
  • Buffered mults & inverters
  • PSU

I was ill for a couple of weeks leading up to the show, so I didn’t get chance to complete and install the High Pass VCF (24dB) that I had working and half-built, so that’s going in next. That leaves one slot in the lower cabinet which will become a Dual VCO.

The synth as it was for Synthfest UK 2019:

Photo of my DIY modular at Synthfest UK 2019

Photo of my DIY modular at Synthfest UK 2019

There’s a long way still to go. Once the lower cabinet is complete, I’ll be making another cabinet of sequencing and control modules – clock converters, triggers, all that kind of thing. I’ve also got plans for various units that I think will become separate devices, and which are at various stages of development. I’m trying to keep the focus on finishing this pair of cabinets first, and taking things one step at a time.

My aim is to turn these into modules you can buy. That’s also in progress, but it’s not about to hit the streets just yet. Hopefully something will start to appear in 2020, but the most important thing is to get this right, so releases of any kind will happen when they’re ready. There’s a lot of work in turning an idea into a product!

Watch this space, anyway. Meanwhile, I’ll try to keep posting a few synth DIY circuits, and maybe some details about vintage synths, but I have had to focus my time and energies on the design and testing for now. This blog is definitely not done yet, I will keep it going as long as I possibly can, but posts will be more widely spaced than they were in, say 2014-16, when I was dissecting the Lambda and modding my old Werkstatt. I haven’t forgotten those people who message me here and ask questions, either! I still try to answer as many of those as possible, where it’s appropriate and I am able to find the time. Please do keep asking, I’m very happy that my little blog gets such an audience!

I wish you all the best, and hope to continue seeing you here for a long time to come!




Moog Werkstatt: improving the VCO and VCF direct outs

There are three ways to get audio from your Werkstatt: the VCO direct out, the VCF direct out (both on the pin header), and the main audio out (the 1/4″ jack on the rear panel).

The VCO Out signal is a sawtooth or pulse, depending which wave the VCO is switched to, at 0-5V. This is pure, dry VCO with no further processing, though of course it will be pitch- and/or pulse-width-modulated, depending on your modulation routings. The VCF Out is taken directly from the output of the filter, bypassing the VCA, and is nominally -2V to +2V. The main audio out is at typical line level (a couple of volts peak to peak), and comes through the filter and VCA.

If you want to use the Werkstatt as an extra oscillator for a modular, for example, you’ll probably want to use the VCO direct out. If you’re running the filtered sound into an external VCA for more varied amplitude modulation or to use with a high-pass filter maybe, you will probably want to take the Werkstatt’s audio directly from the VCF out. If you’re using the Werkstatt as a standalone expander, the main audio out will do just fine.

If signal levels were the same all the way along, none of this would be a problem. However, as with other aspects of the Werkstatt’s design, it needs some tweaking to integrate perfectly. Here’s how.

VCO direct out

Let’s say you’re using the VCO direct out. Eurorack has typical VCO signals of 10 volts peak-to-peak (see Doepfer’s Signals in the A-100 section, for example), centred around 0V (that is, -5V to +5V). To get the closest match sonically we want the Werkstatt’s output to match the other oscillators you’re using. Not all modules with mixers on board will boost as well as cut their inputs, so we can add a small circuit to give a true -5V to +5V VCO Out on the Werkstatt. The schematic below shows both the VCO and VCF mods. More on the VCF shortly.

Schematic for improved VCO and VCF direct outs on the Moog Werkstatt

Schematic for improved VCO and VCF direct outs on the Moog Werkstatt

How It Works

The VCO out mod is a basic non-inverting amplifier with an offset to make the positive-only signal bipolar. The gain is set by the two 20k resistors (1+20k/20k = 1+1 = 2) and the unity-gain reference point is at 5V. That is, 5V in gives 5V out. 0V in would be a difference of -5V from this reference point, so this is multiplied by the gain of 2 to give a difference of -10V, which taken from the +5V reference gives -5V out. In this way, the 0-5V input becomes -5V to +5V out. You can see it in action at this link. Below is a screenshot of the simulation.

Simulation of the improved Werkstatt output mod in Falstad

The improved Werkstatt output mod  demonstrated using Falstad’s online simulator

VCF out

Likewise, if you want to run the Werkstatt’s VCF output into an external module, boosting the signal to match requires just a small circuit, almost identical to the first. The signal level drops as resonance is increased, but to keep our circuit simple we won’t worry about that. The schematic is on the same sheet as the VCO output, posted earlier on this page.

How It Works

This is also a non-inverting amplifier, but this time with no offset as the VCF signal is already bipolar – all the amplification happens around a 0V centre point. Positive signals get more positive, negative signals get more negative. The VCF direct out is normally about 5V peak to peak at maximum, so we just double that to get the more useful 10V range. The gain is set the same way as the previous circuit, and we get an output of -5 to +5V maximum.

Installing the mod

I built both these circuits onto a small piece of stripboard mounted onto the panel with one of the minijacks. There’s just enough room, as can be seen in the photos. This allows the use of both halves of a dual op-amp so nothing goes to waste. There’s also plenty of room on the experiment pads at the top of the Werkstatt’s PCB, though you may find it a bit cramped if you’ve already got a couple of mods in there like I have…

The photos show the locations on the PCB of the various supply rails you’ll be wiring up to: -9V and +9V to power the op-amp, +5V for the VCO amplifier reference, and GND. These are all labelled on the top side of the PCB anyway so it’s easy to find them. I shared the ground that my existing mods were already using, which is connected to the nearby screw post via a solder tag. See my CV mod for details.

Werkstatt VCO and VCF direct out mod wiring

Werkstatt VCO and VCF direct out mod wiring


Werkstatt VCO and VCF direct output mod installed

Werkstatt VCO and VCF direct output mod installed


Werkstatt VCO and VCF direct output mod external appearance

Werkstatt VCO and VCF direct output mod external appearance


Before and after: VCO and VCF direct outs. Top image 1V scale, bottom image 5V scale

Before and after: VCO and VCF direct outs. Top image 1V scale, bottom image 5V scale


U1: TL072 or equivalent
R1, R5: 10k (1/4W 1% Metal Film used here, but it’s not critical)
R2, 3, 6, 7: 20k
R4, 8: 1k
jacks, wire, stripboard: as per your own choice

Roland Juno 6: the DCO

VCO vs. DCO: a non-debate

Much discussion can be found online of the differences between what are simply often labelled VCOs or DCOs (Voltage/Digitally Controlled Oscillators) but as with many things, the truth is less simple. Often the argument boils down to things like phase and stability. I do not want here to get into any kind of debate or pointless pontification about whether one oscillator is better than another, or to try to delineate boundaries between oscillator types in such a black-and-white way.

The reason, in this instance at least, is partly that the Juno 6 oscillators contain features that straddle what some may see as stricly analogue and strictly digitally-controlled. I offer below an explanation, as best I can give it, of the functioning of the Juno 6 oscillators.

The job of key assignment and voice allocation is something I am not going to cover here. The Juno 6 has a CPU that scans the keyboard and generates data, and this process is beyond the scope of my analysis. I pick up the process at the point at which note data is output from the CPU.


How does the Juno’s oscillator work?

Many (if not most) analogue synthesizer VCOs employ a ramp generator core; that is, a voltage representing pitch is fed (via a convertor that scales the control signal correctly) to a circuit that charges a capacitor, the charge across it generating a ramp. When the ramp reaches a pre-defined level, a comparator in the circuit quickly triggers the discharge of the capacitor, at which point the ramp starts its cycle again. The result is what is often called a sawtooth waveform. In the analogue domain, the stability of this process is subject to factors like temperature fluctuations. Digital control helps combat instability.

Though the Juno 6’s oscillator core is based on this analogue capacitor-charging approach, the ramp reset pulse relies not on an analogue comparator but a digital counter. Effectively, the CPU is programmed with the relative frequencies of each note, and provides a counter (one for each voice) with a value representing how long it should wait before resetting the ramp for any given pitch. The CPU also sends note data (via a DAC) as an analogue voltage to the ramp generator control input. Perhaps counterintuitively, this is not to determine its pitch – after all, pitch is frequency, and the frequency is determined by the resetting of the ramp – instead, it is to maintain an even ramp waveform across all frequencies.

Imagine a low frequency. The clock waits longer to reset the ramp. If the voltage fed to the ramp generator were constant for all frequencies, it would ramp at the same rate no matter which note was played. At low frequencies the ramp would reach its limit and stay there before being reset, and at high frequencies, the counter would reset much sooner, cutting the ramp off before it had achieved optimum level. In this scenario, the low pitches would be severely distorted, and the high pitches would be extremely quiet. Thus, in accordance with the frequency data provided by the CPU, an analogue voltage is generated which will charge the capacitor in the analogue oscillator core at a rate optimised for that pitch, while the resetting process (and therefore the oscillator frequency) is controlled digitally. The result is more stable than a purely analogue circuit.

The matter is slightly more involved, however. Firstly, the counters that provide the reset pulse have to know how fast to count. They are clocked not by the CPU, but by an analogue voltage-controlled clock, which is governed in turn by a sum of the pitch bend, fine tune, and LFO voltages as collected on the bender board. This ensures there is no stepping in the pitch during modulation – as the master clock is in the analogue domain, it is thereby continuously variable. The sum of analogue modulation voltages is also mixed with the CPU-generated ramp feed voltage, so that there is no distortion of the ramp during modulation.

To summarise, the basic process is as follows: note data is sent as a binary number from the CPU to a high-speed counter. An analogue voltage is also generated by the CPU via a DAC, and fed to an analogue ramp generator. When the counter completes its cycle, it resets the ramp circuit capacitor, and charging begins again. Thus, an analogue ramp – the sawtooth wave – is frequency-controlled by a digital device.



It may help to study the schematic for the oscillator core and its logic control. Below is the appropriate page of the service manual. The complete manual contains further technical information.

The counters, DAC, exponential converter, and ramp generator are highlighted in red.

Juno 6 main board schematic with highlights

Juno 6 main board schematic

PDF version: Juno 6 main board


%d bloggers like this: