VCO Core two Front

I have build my first original Elektor Formant VCO's in the 70's. They worked quite well and do so until today. Over the years i did implement some changes and extensions. I have developed a PCB Version with my changes and extensions published as VCO Core one. But only for those few lucky ones with some spare uA726. Here is the second VCO for my Next Generation Formant project. As in the NGF VCO core one I tried to keep the basic architecture of the original Elektor Formant. With the goal using only today available parts. This means finding a heated transistor pair for the expo converter and a Schmitt Trigger with hysteresis for the switching. Because there are no heated transistor pairs obtainable in the market today I was on my own. There are some solutions for a heated expo pair out there. Most of them build around no longer available parts or quite expensive. A still easy to get and cheap part is the LM3046. The SMD version is still in production today (2017 March) and the DIL version is easy to source as well. Though not longer in production. The PCB for the NGF VCO core two holds both versions. You can stuff it with the SMD- or DIL version. The 4093 is used as Schmitt Trigger for switching. Using the 4093 makes some level shifting necessary for proper switching. The switching capacitor is reduced to 470pF which give an even more better volt per octave characteristic then the original over the audio range. A LFO option is implemented as well. In conjunction with the waveshaper you have now the same waveforms available as voltage controlled LFO. The uA726 is replaced with LM3046 and the 7413 with 4093. All internal control voltages are stabilized. I removed the need for the +5V current supply, added an octave switch, FM lin and sync in. A new feature is the LFO switch. The signal level is raised to 10Vpp to get a better SNR throughout the system.

Specs and features


Schematic Core

NGF VCO Core two schematic page 1


To keep the characteristic of the original Elektor Formant I kept the heated exponential converter, here build around the LM3046. The PCB is developed to hold the DIL and the SOIC version as well. The Schmitt Trigger used is the 4093. Due to different switching levels in the original some transistors are added for level shifting. The octave switch is build with the OPA2277 and the voltage reference REF102. Switch SW1 turns the LFO option on and off. The level for the Sync input is adjusted with P1. Fine tune of the pitch is done with P2. If you need a wider range for the tuning you can change it with changing the potentiometer or the resistors values here. The basic pitch is set with TR4. Output voltage is set with TR3 and the DC offset with TR1.

Output saw wave

NGF VCO Core two saw wave output

Schematic Heater

NGF VCO Core two schematic page 2


This circuitry is part of my NGF VCO Core 2. It make use of two transistors to heat the LM3046. It works with the SMD and DIL Version as well. The given resistor values keep the current values and the power dissipation below the maximum ratings. T3 is used to measure the actual temperature. The voltage drop over T3 is direct proportional to the chip temperature. It is compared to the voltage at pin 2 of the LM3046 which is derived from TR6. The temperature is easily adjusted with TR6. Between heating off and maximum temperature. The testing bridge is driven with a stabilized 10V voltage source. T4 and T5 are used as heaters. R41 and R43 limit the maximum current. The different values are selected with purpose to keep pin 13 of the LM3046 (the substrate) the lowest negative point at the chip.

The below pictures shows the graph temperature in deg. Celsius vs. Voltage in mV at pin2. It is quite linear. You can easily derive the needed voltage for your preferred temperature from the graph. The data for the first graph were taken from a LMLM3046 SMD mounted on a PCB. The figures for the DIL Version are slightly different. You can see them on the second graph. Temperature was measured with Fluke 63 IR thermometer.

LM3046 Heater Voltage vs. temperature graph

LM3046 Heater Voltage vs. temperature graph SMD Version

LM3046 Heater Voltage vs. temperature graph

LM3046 Heater Voltage vs. temperature graph DIL Version



  • Connect an oscilloscope to the saw out of the VCO and turn the power on. You should see a saw wave. If not debug.
  • Choose your wanted temperature and read the correspondent voltage from the diagram. Set the voltage (temperature) for the heater with TR6. The voltage is measured at pin2 of IC10. This should always be the first step when calibrating.

    Please remember: Every time when you change the temperature settings you have to redo the complete calibration process!

  • Output amplitude and DC offset. Output amplitude is adjusted with TR3. DC offset with TR1. Easiest way is to use a dual trace oscilloscope. Apply the signal to both channels and set channel two to INV. When the edges of the saw in both channels match, the DC offset is zero. Start with TR1. Adjust the DC offset until the edges of the two saw matches Adjust TR3 (amplitude) to your needs. Readjsut TR1. Repeat. The DC offset is crucial for the performance of the waveshaper and the LFO functionality.
  • 1V/Octave characteristic adjust. Let the VCO warm up for some time. Set the low frequence to about 20Hz. with TR4. LFO off.
    • Rough: Adjust TR5 so that the voltage difference at pin2 of the 3046 changes about 19,3mV when you change the control voltage 1V (Use the octave switch).
    • Fine low:
      • a: Octave switch in position 2 (~40Hz). Write down exact frequency (f1).
      • b: Calculate the next higher frequency (f1*2=f2).
      • c: Move octave switching position 3 (~80Hz). Write down exact frequency (f3).
      • d: Calculate deviation f3-f2. Write down.
      • e: Divide f3 by 2. Move Octave switch in position 2. Adjust TR5 until f3/2 is reached.
      • f: Jump to b. Repeat until the f3-f2 is zero. If the difference is increasing you are turning to the wrong site.
    • Check the lowest frequency again and set it to 20Hz with TR4.
    • Fine high: According to Fine low. Start with octave switch in position 8 (~2.6kHz).

Calibration example

Calibration figures example


Special parts

The resistors for the octave switch should be matched to 0,1% or better.


NGF: VCO Core two documentation download

NGF VCO Core two stuffed PCB

NGF VCO Core two: Stuffed PCB

LM3046 Detail DIL Version

NGF VCO Core two: LM3046 Detail, DIL Version

LM3046 Detail SMD Version

NGF VCO Core two: LM3046 Detail, SMD Version

2017 March

Top Home