Since Coolaudio started reissuing old IC’s used in various synths I always eyed the V3340, which is a reissue of the CEM3340 chip as used in many classic synths such as the Roland SH101, Prophet 5, Memory Moog and plenty of others. It’s, in essence, a fully featured 1V/oct oscillator on a single IC and thus takes away a lot of the headaches inherent to VCO design. Things like linearity and temperature compensating are taken care of for you. This takes away a lot of the pain of building VCO’s, in fact, since these IC’s are available again a DIY polysynth starts to become a possibility.

First build

So, I ordered one – just one, they’re quite expensive – and started testing. It really doesn’t take that much effort to get the oscillator running and I based the circuit on the CEM3340 datasheet, various implementation examples on the electric druid website, the nonlinearcircuits VCO-1 and various other sources. It’s no surprise, but there are very little modern resources available for this IC.

Since I was implementing an oscillator anyways it looked like a perfect opportunity to add some interesting wave-shapers to the circuit. First and foremost a triangle to sine wave shaper, because I really wanted a sine output and the CEM doesn’t offer one. I tried a few ways and settled on a design I found on Thoma’s Henry’s excellent site which seemed to produce a suitable sine. It’s certainly not perfect, but it does the job.

In addition to the sin wave shaper I’ve also added a linear ramp waveform. It’s sort of a mix between a square wave and a saw wave and offers a different kind of feel to it then either of them. I got the idea from the Intellijel Rubicon oscillator which features this waveform and it’s not that hard to think up a suitable circuit to produce that waveform from the combination of a saw and a square wave.

While looking into various wave-shaper designs I found a schematic to phase shift a saw wave. That gave me the idea of trying to implement a ‘super-saw’ by shifting several saw waves and mix them back together. Turns out it’s not really a ‘super-saw’ in the Roland JP way, but it does sound nice. I didn’t went all the way with this idea as I quickly ran into some problems when you have several waveforms added on top of one another. Shifting a single saw wave around mixed together with the original one already sounded very nice. I fixed the 2nd shifted saw at 90° and it can be toggled on or off for a different tone.

Overall I’m very pleased with the sound quality of the oscillator. It produces really nice and rich sounding waveforms.


16-07-2018: Some updates on the schematics.

  • Changed Linear Ramp output volume so it’s in line with the other ones (R59 to 20k instead of 10k)
  • Changed the sensitivity of the coarse and fine knobs (R10 and R11)
  • Used an LM4040 to create a 5V reference instead of L7805 and L7905 voltage regulator. I hope this will improve stability when switching octaves.
  • Added a potentiometer for the saw animation in

21-05-2019: Thanks to Tyler for pointing out that R21 should go to -12V and not to ground, the sine-shaper won’t function otherwise. The schematic has been updated to reflect the correction.

  • 1/V Oct
  • Coarse tuning
  • Fine tuning
  • Exponential FM
  • Linear FM
  • Saw / Triangle / Pulse / Square / Sine / Linear Ramp / Super Saw outputs
  • Super saw phase shift input CV
  • Pulse width adjustment and CV control
  • Hard sync / Soft sync

or download the pdf

*disclaimer: Schematics are provided ‘as is’. I probably made some mistakes while writing these down and you should assume some stupidity on my part as well. If you find inconsistencies or have ideas for improvement, let me know and I’ll update them accordingly. Also if you happen to build one, send me a pic when it’s done. 

Trimmers functionality

There are plenty of trimmers on this one. Here’s a list of what they are all supposed to do.

RV1: sine symmetry trim
RV2: High-freq trim
RV3: Freq scale trim
RV4: Sine roundness trimmer
RV5: Pulse-width modulation range
RV6: linear ramp
RV7: Freq trim shape trimmer
RV8: saw wave-shifter trim 1
RV9: saw wave-shifter trim 2
RV10: max saw shift level


Best use 0.1% tolerance resistors for R30,R33,R39,R45,R48,R54,R29,R57 as well as for R32,R9,R12.

2 thoughts on “The Oscillator One

  1. Hi there, thanks for sharing your schematic.
    Do you get pitch interaction with your PWM input? When I apply LFO or whatever to PWM input, I get a pretty significant pitch wobble. Not sure if this is a bug in my design or a “feature” of the chip.

  2. I haven’t noticed anything like that on the build I’ve done so far. The IC shouldn’t do that. The CV input for the pitch is very sensitive to fluctuations though. Let me know if you find out what causes the issue.

Comments are closed.