1V/Octave Voltage Controlled Oscillator
Article by Ray Wilson
This is an intermediate to advanced project and I do not recommend it as a first project if you are just getting started in synths or electronics. Only the circuit and some explanation are shown here. A lot of project building, troubleshooting and electronics experience is assumed. Additionally, electronic equipment ownership (scope, meters, etc.) is taken for granted. If you are interested in building this project please read the entire page before ordering PC boards to ensure that the information provided is thorough enough for you to complete the project successfully.


  • Good tracking over several octaves (3 to 4).
    This used to say "at least 6" but field testing has shown that 3 to 4 is more realistic.
    I got lucky on a couple of them is all I can surmise.
  • BETTER tracking using the AD SSM-2210 Dual Matched NPN
    in place of the LM394. (5 to 6 octaves)
  • Can be temperature compensated with a Precision Resistor Company PT146.
  • Simultaneous Rectangle, Ramp, Triangle and Sine Outputs (Saw core design)
  • Designed for 1V/Octave control voltage
  • 4 1V/Octave control voltage inputs.
  • 1 Linear control voltage input.
  • Hard sync input.
  • Rectangle wave duty cycle adjustable between 10% and 90%
  • Rectangle wave duty cycle voltage controllable
  • Frequency range is from sub audible (approximately 0.1 hertz) to ultra-sonic 20kHz.
  • Power supply can be +/-12 or +/-15 volts.
  • Easily obtainable parts.
  • Current consumption 23mA from the +12V supply and 23mA from the -12V supply. Assume slightly more at +/- 15Volts.


MP3 Samples

Sine wave with sequencer and keyboard
Sine wave with sequencer and keyboard
Triangle wave with sequencer and keyboard
Ramp wave with sequencer and keyboard
Square/Pulse with sequencer and keyboard
Sync Effects
Frequency Range Demonstration
Modulation with keyboard and LFO


Oscillators are the main tone generating modules of your synthesizer. This oscillator produces sine, square, triangle and ramp waveforms and with careful adjustment tracks at 1V/octave over a very useful range. The parts for it are easily obtained and not extremely expensive. The whole circuit is here so breadboard it and see if you like it. I like this oscillator but please recognize that it relies on a well matched pair of transistors. Its frequency range is from below audible to beyond audible but its tracking performance degrades above about 4 to 5 KHZ. However notice this chart of frequency ranges for vocals and instruments: Interactive Frequency Chart - Independent Recording Network. If this oscillator meets your needs I have high quality PC boards for sale for this design.

This is an intermediate to advanced project and I do not recommend it as a first project if you are just getting started in synths or electronics. Only the circuit and some explanation are shown here. A lot of project building experience and electronics knowledge and equipment ownership (scope, meters, etc.) is taken for granted. If you are interested in building this project please read the entire page before ordering PC boards to ensure that the information provided is thorough enough for you to complete the project successfully.

Voltage Controlled Oscillator Page 1 PDF

Coarse Frequency Range Customization

In order to customize the range of the Coarse frequency pot to your needs you can place a resistor in the range of 10K to 47K between the Coarse frequency pot terminal connected to -V and -V (RN in the illustration). The lower the resistor's value the lower the frequency will be on the low side of the Coarse frequency adjust's range.

You can also increase the value of the resistor between the Coarse frequency pot terminal and +V to decrease the max frequency at the highest setting of the Coarse frequency pot (RP in the illustration). Note that changes in any of the values will cause interaction since the three of them form a resistive divider. These values will differ for people using +/-12V or +/-15V. Values on the high side resistor can go to 100K and on the low side to 20K for +/-15V users. Values on the high side resistor can go to 68K and on the low side to 10K for +/-12V users. Other values for RN and RP will not hurt anything as long as you keep the value of the Coarse frequency pot at 100K. at least

Page 1 shows the voltage to exponential current conversion and ramp generator circuitry. U1-A is the control voltage summer. It's output feeds the scale trimmer R16 whose wiper is connected to the base of the current reference transistor in the feedback loop of U1-B. Linear changes in voltage applied to the CV1 through CV4 inputs of U1-A are converted to logarithmic changes in current at the current sink (collector of NPN transistor at pins 1(c), 2(b) and 3(e) of the LM394 Super Matched Pair IC).

The optional high frequency compensation circuitry D1, R9 and R11 allow the output of U1-B to boost the current at the current sink at higher control voltage (and thus higher frequency) to make up for the finite time required to discharge the integration capacitor C6 during oscillation. Only add these components if the oscillator goes flat at high frequencies after you have adjusted the V/Octave scale trimmer. The interaction between the scale trimmer and the high frequency compensation can be challenging to adjust.

The current sink causes the integrator made up of U2-A and C6 to ramp from ground toward V+. The comparator (made up of U2-B and associated components) dashes the hopes of U2-A reaching V+ by causing the integrator cap to discharge when it detects a level higher than approximately 1.1 volts. This happens when the comparator's output goes high turning on Q1. R47 and R46 hold +0.544 volts at the non-inverting input of U2-B. This level plus the approximately +0.5 volts required to overcome the hysteresis provided by R42 and R37 is what determines the threshold of the comparator. Thus the output of U2-A (point RAW) is a ramp wave that goes from ground to +1.1 volts. The fall time of the ramp is approximately 1uS. The output of U2-B is a very brief pulse (ALWAYS use the x10 setting on your probe to observe it) that goes from -V to just above ground and then back to -V. It is about 1.5 uS in duration. The ramp's frequency is determined by the control voltage applied to the CV1 through CV4 inputs with a conversion of 1V per octave. This is the heart of the VCO (literally). Applying a control voltage to the LIN input causes a linear shift in frequency as this input affects the reference current in the exponentiator. Applying a square wave from another oscillator to the sync input causes the comparator to reset the integrator (on the rising edges of the square wave) which produces interesting timbres when the outputs of the oscillator providing the sync signal and the oscillator being synced are mixed. Panel mounted pots R2 and R3 provide the initial frequency (tuning) adjustment. Detailed setup instructions are in a section below. R16 and R11 (if used) should definitely be multi-turn cermet type trim pots so you have fine resolution when adjusting the V/Oct scale and high frequency compensation.

These ideas were pioneered by the Alan Pearlmans, Bernie Hutchins, and Bob Moogs of the world I am merely a student of their landmark work.

For best performance and least temperature drift use: 1% resistors throughout this portion of the circuitry, a PT146 TCR for R24, and a silver mica or polystyrene capacitor for C6. If you use the PT146 TCR for R24 you need to put it in direct thermal contact with the matched transistors used in the exponentiator. The board is designed to accomodate a wide range of transistors from the LM394 to two separate transistors. I ended up mounting my TCR first and then putting some heat sink grease on top of that, followed by the 6 pin can-type LM394 straddling the TCR so that its silica substrate is contacting the TCR and heat sink grease. You can substitute some of the parts as listed at the beginning of the parts list section below.

Voltage Controlled Oscillator Page 2 PDF

Rev two boards have these two caps on them.

SAW output is actually RAMP.

Boy are our faces red. The output marked SAW on the PC board is actually... a ramp wave. What was that...? it's a ramp wave. Come again... alright alright I said it's a RAMP WAVE. Somehow in all the confusion the last inversion got missed and we marked it as a Sawtooth. So consider this an embarassing moment and lets all move on.

Page two shows the circuitry that converts the raw ramp wave into ramp, triangle, sine, and rectangle waveforms. RAW is applied to inverting buffer U4-A where gain and offset are applied to the signal. The original 1.1 volt signal is boosted to about 8.5 volts P-to-P. Adjust R5 so that the sawtooth waveform at pin 1 of U4-A oscillates evenly about ground.
Click for PDF
U4-A's output is fed to inverting unity gain buffer U4-B. The positive excursions of the outputs of U4-A and U4-B are rectified by D2 and D3 and dropped across R21 (20K to -V) and fed to U4-C inverting buffer with a gain of 2. This results in a triangular waveform at the output of U4-C after the Saw Offset and Tri Offset trims have been properly adjusted. As explained in the drawing this design produces inaudible glitches at the time the integrator is reset by the comparator. This is because of the finite fall time of the integrator's output. Even though the integrator's fall time is about 1 uS the output of U4-A after inversion and gain takes about 3 uS (due to slew rate limiting of the op amp) to go from low to high (remember its inverted). U4-B takes about 3 uS to go low (its the original with x2 gain, again due to slew rate limitations). Thus a glitch of about 6 uS takes place at the peak of the triangle wave. This glitch is so fast that in practice it contains no audible information. C14 reduces the amplitude of the glitch by filtering the majority of it to -V.
Click for PDF
The triangle waveform is fed into the circuit which uses the U5 (LM13700 or equivalent) to apply non-linear distortion which effectively approximates a sine wave. R60 (Sine Bias Trim), R64 (Sine Shape Trim), and R59 (Sine Level Trim) are all used to get the best sine shape possible. The figure below illustrates the effects of these pots on the waveform. Shaping circuits are never perfect and in the end if you achieve 1% distortion figure you will be very happy. If you don't have a distortion analyzer use your scope and your ears to determine the best sine shape. It is interesting to adjust the waveform to where you believe it sounds best and then tweak a little. You will be suprised to see how little distortion it takes to start adding overtones to the fundemental frequency. Adjust until you hear the purest tone with the least overtones.
Click for PDF
In order to provide bias levels for the rectangle wave comparator I use the ramp wave which appears at the output of U4-B. Note that the positive excursions forward bias D4 and charge C13. The negative excursions forward bias D7, D6 and D5 and charge C12 negatively. We end up with ramp positive peak minus one diode drop on C13 and ramp negative peak - 3 diode drops on C12. We buffer these voltages with U6-A and U6-B respectively and apply them to the ends of R39 panel mounted Pulse Width Adjustment pot. The wiper of R39 provides continuous adjustment between these two voltages and is connected to the inverting input of U7 (which is used as a comparator). When the voltage of the ramp waveform applied to the non-inverting input via R29 goes above the threshold set by the pot the output of U7 goes high. When the voltage of the ramp waveform applied to the non-inverting input via R29 goes below the threshold set by the pot the output of U7 goes low. Thus you have pulse width adjustment of between about 10% to 90% duty cycle for the rectangle wave's output. Voltage applied to the PWM input changes the threshold and thus provides pulse width control voltage capability.

Voltage Controlled Oscillator Adjustment

After getting the waveforms adjusted properly you need to set the oscillator scale factor and high frequency compensation trim pots. If used, adjust R11 so that you have the most resistance between its pin 2 and pin 3 and thus the least high frequency pitch correction. We will adjust this later as necessary.

Adjust R2 and R3 so that the oscillator frequency is 100 Hz. You will need to apply a calibrated voltage at one of the CV inputs starting at GND and then increasing the voltage to exactly 1.000V, 2.000V, 3.000V, 4.000V, 5.000V... etc. In a pinch you can use this circuit to provide test voltage.
At ground you should have 100 Hz. At 1 volt you should see 200 Hz, at 2V 400 Hz, at 3 volts 800 Hz, at 4 volts 1600 Hz, at 5 volts 3200 Hz. OK... you see the pattern each additional volt should result in a doubling of frequency (thus 1V per octave). Adjust R16 so that you get the proper volts/octave response. It is interesting to note that if the octave is flat then without reducing the control voltage adjust R16 so that the pitch goes down a bit (1/2 turn). When you do this you are stretching the octave. Now lower the control by 1 volt and reset R2 and R3 to the desired pitch and then raise the control voltage by 1 volt. The octave is less flat now. Keep that in mind when you are calibrating so you don't go insane (never a good thing).

If you start to find that the octaves are in tune to a certain point but then start getting flat at the next higher voltage level then its time to adjust R11 to compensate a bit because at high frequency you need the oscillator to give a smidge more than 1 octave per volt response. At the step where the frequency is flat adjust R11 to raise the pitch. You will need to go back and restest & readjust at all voltages if you introduce pitch correction via R11 as there is some interaction between R16 and R11. It's best to use a frequency counter to measure but your ears will work fine. Adjust the oscillator to the best of your ability and over the audio range you are most interested in. I suggest 100 to 6400 hz. You will certainly hear harmonics and overtones at frequencies well above this but I suggest these 6 octaves as the sweet spot for the oscillator tracking.

Board Revisions

Rev October 2008 boards have some slight layout changes and the addition of R66 and R67. These will no longer need to mounted on the Sync In or PWM jacks respectively.
October 2008 boards say "REVD Oct 14 2008" on them.

Part Value View

Rev 2 boards have some slight layout changes and the addition of C15 and C16 .1uF U7 bypass caps.
Rev 2 boards say "MFOS" instead of "RJWSOFT".

Part Value View

Rev 1 boards

Voltage Controlled Oscillator PCB Parts Layout (Parts Side Shown) PDF

Alternate placement of R24 When using a PT146 (or equivalent) tempco

Notice that there is a legend for R24 but there are two alternate mounting holes on the board specifically for mounting a PT146 Tempco for R24 so that it is in thermal contact with U3 (or replacement transistors). Use thermal grease or epoxy to make the thermal contact. The Tempco can go above or below the LM394 depending on the package you buy. It can go in between discrete transistors if you use those instead of a dual transistor package.

IMPORTANT INFORMATION! You should only install one of the resistors. If you use the PT146 Tempco for R24 in the alternate mounting then do not mount the regular R24. Otherwise your oscillator scaling will be off by a factor of 2 (i.e. an octave will span 2 keyboard octaves).

Board Revisions

Rev October 2008

Voltage Controlled Oscillator PCB Bottom Copper (Parts Side Shown)

Voltage Controlled Oscillator PCB Top Copper(Parts Side Shown)

Rev 2

Voltage Controlled Oscillator PCB Bottom Copper (Parts Side Shown)

Voltage Controlled Oscillator PCB Top Copper(Parts Side Shown)

Voltage Controlled Oscillator Front Panel PDF

I always work with these non-standard 10 x 4 x 1/16" aluminum panels because I get them for $2.50 each. You can certainly change the front panel to whatever you like but make sure you wire it up correctly.

Dave Kronemeyer took the time to make a nice Front Panel Express design and share it with all of us. If you use it make sure you take into account any differences related to the wiring diagram.
Click for Front Panel Express File
Click image to download .FPD File (Front Panel Express) File
David Kronemeyer did a nice Front Panel Express layout.
Visit Front Panel Express
Click the image to download the .FPD File.

Voltage Controlled Oscillator Back Panel PDF

The "REVD Oct 14 2008" boards have places for both R66 and R67 so if you are using that board DO NOT MOUNT THESE RESISTORS ON THE PANEL. It won't be a huge problem if you do but you don't need them on the panel AND on the board.

Voltage Controlled Oscillator Project Parts List


LF442 - LT1112, AD706
LM394 - AD SSM-2210 DIP or Two matched transistors (specs similar to 2N3904)
R24 PT146 - 2K Carbon Comp Resistor (provides no temperature compensation)
LM13700 - LM13600, NE5517, AU5517, NTE870
MPF102 - 2N5457, J210
1% Resistors - Page 1 should be all 1% resistors, Page 2 is at the builders discretion.

VCO Project Parts List

Qty. Description Value Designators
1  LF411 Op Amp  LF411  U7  
1  LF442 Dual Op Amp  LF442  U1  
1  LM13700 Dual gm OpAmp  LM13700  U5  
1  LM394 Super Match Pair  
AD SSM-2210 (Preferred)
LM394  U3  
2  TL082 Dual Op Amp  TL082  U2, U6  
1  TL084 Quad Op Amp  TL084  U4  
1  MPF102  MPF102  Q1  
8  High Speed Sw Diode  VALUE  D1, D8, D2, D3, D4, D7, D5, D6  
1  Ceramic Capacitor  .001uF  C5  
5  Ceramic Capacitor  .1uF  C8, C2, C1  
1  Ceramic Capacitor  100pF  C3  
1  Ceramic Capacitor  10pF  C4  
2  Electrolytic Capacitor  10uF  C7, C10  
2  Tantalum Capacitor  1uF  C13, C12  
1  Ceramic Capacitor  .002uF  C14  
1  Silvered Mica or Polystyrene Cap  1000pF  C6  
2  Potentiometer  100K  R2, R3  
1  Potentiometer  1M  R39  
1  Trim Pot 10 Turn  100 ohm  R16  
1  Trim Pot 10 Turn  1M  R11  
2  Trim Pot Single Turn  100K  R60, R64  
2  Trim Pot Single Turn  10K  R7, R5  
1  Trim Pot Single Turn  1M  R59  
13  Resistor 1/4 Watt 1%  100K  R15, R18, R10, R31, R23, R27, R33, R69, R70, R44, R40, R35, R6  
8  Resistor 1/4 Watt 1%  10K  R17, R42, R47, R13, R25, R32, R12, R1  
1  Resistor 1/4 Watt 5%  10M  R68  
1  Resistor 1/4 Watt 1%  130K  R53  
5  Resistor 1/4 Watt 1%  1K  R34, R51, R49, R26, R22  
4  Resistor 1/4 Watt 1%  1M  R30, R8, R28, R45  
3  Resistor 1/4 Watt 1%  200K  R56, R57, R58  
7  Resistor 1/4 Watt 1%  20K  R50, R65, R66, R14, R21, R48, R67  
1  Resistor 1/4 Watt 1%  2K  R24  
1  Resistor 1/4 Watt 1%  39K  R9  
1  Resistor 1/4 Watt 1%  3K  R41  
2  Resistor 1/4 Watt 1%  4.7K  R52, R36  
1  Resistor 1/4 Watt 1%  470K  R61  
2  Resistor 1/4 Watt 1%  475 ohm  R19, R46  
2  Resistor 1/4 Watt 1%  82K  R20, R29