One needs an LFO. How else could you go wob-wob-wob?

There are tons of ways to build an LFO, but I’d like a simple one, voltage controlled if you want. Turns out there is very little to design as you can find an ideal schematic on page 1 of the LM358 opamp’s datasheet. There is a little bit of tweaking necessary to make it have the right frequency range, and work from your typical dual rail modular power supply.

Capacitor C1 is where its at. It determines the frequency range of the oscillator. With a bigger capacitor, the frequency range will shift downwards, with smaller ones it will shift upwards. You can pretty much use any non-polarised capacitor you have lying around for this job. As drawn (100nF) you can expect a frequency range of 20-ish Hz to somewhere around 0,2Hz. Exact numbers can vary a bit depending on the tolerance levels of the capacitor, but that’s what I got from my breadboard build.

The output are fairly ‘hot’ and swing between +7 and -7volts. This is pretty common for Eurorack format control voltages. R18 and r20 form a voltage divider for the square wave output so it falls into the same ballpark range.

Schematic A

I intentionally kept this to the bare basics as I encounter the question for a basic LFO frequently. You have a triangle and a square output with a controllable frequency, that’s it. But sometimes that’s exactly what one needs. As you can see, it’s a simple circuit, but it has plenty of uses.

Schematic B

A square wave and tri wave are nice and useful and all, but an LFO can use a bit more variety. A more advanced LFO schematic features 2 wave shapers to generate a saw wave and sine wave. It complicates the very simple design quite a bit.

I’ve also added CV control over the LFO frequency, which is fairly simple since the core of the oscillator is already voltage controlled. So a simple summing mixer is pretty much all you need. I’m not going to bother with exponential converters unless I feel it’s necessary after a while of use.

Todo

So, what’s next? I’d like to add a re-trigger function to the LFO but have yet to find a reliable way to do it. Any ideas are welcome.

I also would like to make the LFO syncable to an external clock. That’s a tougher nut to crack though. I have some idea on how to achieve it , but I haven’t yet tried to implement it.

So more to come in the LFO section. Probably. Some day.