# What kind of voltage controlled oscillators are convenient to obtain very low frequencies?

I'm planning to make an oscillator which can have a range between 0.1Hz to 100Hz or at least 1Hz to 100Hz. I know it is a huge topic but is there an analog IC family for such purpose? Something similar what LM331 does(V to f converter) for pulse output, I need a circuitry where an input voltage will be controlling the sine wave output at low frequencies(min output freq. will be down to 0.1 or if not 1Hz).

• Do you need it to be a sine wave output, or just a clock output? Sep 6, 2018 at 17:22
• It has to be a sine output and should be controlled by an input voltage. I came up with ICL8038. Can that be used for that purpose? I dont want a resistor controlled freq. but voltage controlled.
– cm64
Sep 6, 2018 at 17:25
• It looks like that ICL8038 part is obsolete and probably impossible to find. You may need to give more information about the problem you are trying to solve; people here may be able to suggest a better way. For example, why does it need to be voltage controlled (not digitally controlled), and why does the output need to be a sine wave? What type of receiver will you be sending this signal to? Sep 6, 2018 at 17:30
• I guess I should have looked at your recent questions first...what was wrong with Spehro's answer from yesterday? Looks like he gave you 3 good options. Sep 6, 2018 at 17:38
• @Justin One reason was DDS is surface mount. I need DIP package solution. Another reason the programming side would be much more difficult
– cm64
Sep 6, 2018 at 17:44

It will be difficult to make any accurate analog frequency synthesizer for this low range, 0.1 Hz - 100 Hz. If you want to achieve your team goal and simultaneously learn something of use in modern electronics, the best way is to use the Spehro Pefhany advice and implement the DDS. Just in case I will elaborate what does it mean and what is the easiest way to implement it.

From Internet:

Direct Digital Frequency Synthesis (DDFS or simply DDS), also known as Numerically Controlled Oscillator (NCO), is a technique using digital-data and mixed/analog-signal processing blocks as a means to generate real-life waveforms that are repetitive in nature.

The easiest and least expensive way to implement the signal synthesis is to use Raspberry Pi SoC and add a "High-Precision AD/DA Expansion Board"

The board contains a ADS1256, 8-ch 24bit high-precision ADC, and 2-ch 16bit high-precision DAC DAC8552. As I understand, the expansion board comes with full software libraries.

You will need to use one ADC channel to sense your VCO analog control signal, and one DAC channel to output the synthesized sine wave:

Algorithmically you will need to acquire the Control Voltage in some scale, determine the corresponding signal period, and then interpolate a sine wave function to output digital sequential values onto output DAC. The DAC should be ran at constant rate of about 10x of your 100 Hz range, or at about 1 kHz loop. I believe at this rate you can calculate next DAC values using floating-point arithmetics. If not, there are special DSP algorithms that can do sine approximation in integer domain.

• I don't think the Raspberry Pi is the least expensive digital logic board to use, unless you have one available to repurpose. A cheap Arduino Nano clone can do this for instance, if paired with suitable A/D and D/A converters. ($6 instead of$60) Sep 7, 2018 at 0:04
• @immibis, Paspberry PI Zero is \$5 at Adafruit. I just found a matched pair, and I am sure there are many other options as well. Sep 7, 2018 at 0:25

Look to the analogue synth designs, lots of voltage controlled LFO designs there that do this sort of thing. Something wrapped around a transconductance amplifier seems likely.

A LM13700 or such followed by an integrator, and a comparator to close the loop will give you something that can be tuned by the transconductance stage bias current, but getting a good sine out of it is hard (triangle is easy).

How about something like that going off maybe 128 times the desired rate, then divide down and filter with a switched cap filter part, maybe a TI MF-10 or such?