Jun 6, 2018

VCO 3340

The CEM3340 VCO chip is one of the legendary chips designed by Doug Curtis that played an important role in the analog polysynths of the 1980s. By integrating a complete analog VCO on a chip, it made more compact and cost-effective synth designs possible.

Together with the classic analog polysynths themselves, the Curtis chips have long been out of production. In 2018 however, thanks to the new boom in analog synthesis, the 3340 VCO chip is once again available, from no less than three sources. Curtis' own company OnChip Systems re-issued the CEM3340 Rev. G, and cloned/compatible devices are available from CoolAudio (v3340) and from the Latvian company Alfa (AS3340).


The new availability of these chips triggered my interest in building a VCO around these chips. I chose to use the AS3340, which is the cheapest of the three options. The 3340 VCO is known for good tracking and temperature stability. It has the exponential converter and temperature compensation built in, which makes it very easy to build a decent VCO. For the module, I wanted to stick with that idea: an easy to build VCO with good stability and basic features. After a few revisions, the result looks like this:


Features


  • Pulse, Saw, Triangle and Sine outputs 
  • Big frequency control + fine-tune control
  • PWM control, serves as attenuator for PWM input or as pulse width control when no PWM is connected 
  • Exponential (V/Oct) and linear FM inputs
  • Switchable hard and soft sync
  • 9mm pots, Thonkiconn jacks and all throughhole components on a single PCB 
  • 8hp Eurorack format

About the design


The 3340 chip is a triangle core oscillator, and in addition outputs saw and pulse wave forms, the latter with PWM. The waveform outputs levels are not standard eurorack levels and all different, so external scaling is needed to bring them to the standard 10Vpp.

Since it is a triangle core oscillator, it is a great starting point for glitch-free sine waves. I added the same JFET-based triangle-to-sine converter that I use in my other VCOs.

The 3340 chip has some unusual implementations of "hard" and "soft" synchronization. They give slightly different results, and the results also depend on the amplitude of the sync signal and whether it has positive, negative or both positive and negative transients. To keep the module simple, I decided to expose the sync inputs (switchable between hard and soft) directly via only an AC coupling capacitor. The user can experiment with different transients by feeding a saw, inverted saw or square/pulse wave to the sync input. The amplitude can also be tuned if desired with an external attenuator.

The module has exponential and linear FM inputs, that can also best be used with external attenuators. For Pulse Width Modulation an attenuator is integrated into the module. If no PWM signal is plugged in, the PWM control simply sets the pulse width manually.

Build documentation

I offer the PCB for this module for sale. The build documentation below contains everything you need to know to complete a successful module. Please read it through carefully before starting, and especially check the notes in the Bill of Materials when ordering parts.

  • All documentation can be found on github.

Demos

Here is a short demo of the basic functions of the VCO. There is some clipping or other issue in the audio track, so it sounds grittier than in reality:


Molten Music Technology has made a much nicer demo of the VCO 3340:


He also has a complete build video of this module, based on the kit sold by Infinite Machinery.





47 comments:

  1. Hey Kassu, a few questions/notes before I get started on my builds:

    Pots: Is there any particular reason you used 10k instead of 100k for the coarse frequency knob (RV3)? Looks like a voltage divider to me. Am I safe replacing with 100k?

    Trimpots: It seems to me that RV6 and RV7 are just voltage dividers, so I should be able to use 100k instead of 10k for those, correct? Can the same be said for either RV1 or RV2?

    Sine shaper: I have used the same sine shaper topology in the past using a 2N5457 JFET. I used 100 ohm resistors on the source and drain rather than 1k. Mouser is out of MMBTJ201, so I intend to use some 2N5457s for my builds. I will report back here with the results in case future builders also want to do this.

    Power regulation: Any reason for choosing LP2950 over the 78L05? Is it just what you had on hand, or does it have advantages over the 78L05?

    ReplyDelete
    Replies
    1. Hi Ben,

      Let me try to answer your questions:

      Pots: I used B10k for RV3 such that it is not loaded down by the 47k summing resistor. A B100k pot will work fine, but the response will be nonlinear (a bit like a log pot).

      Trimpots: RV1 and RV2 should be 10k. They are fed with a current from the 3340, so the value must match to get the right voltage out. RV7 can indeed be 100k or any other reasonable value, I used 10k simply because it is on the BOM already anyway. For RV6 I recommend keeping 10k, since it has to drive the fairly heavy load of the sine shaper. With a higher value, the performance of the sine shaper will suffer a bit.

      Sine shaper: for the same reason, I would say 100 Ohm is a bit low, but of course you can just try if you have them around. As alternative to J201 I recommend MMBF4117, which is available on Mouser and works well with 4.7k resistors (see last page of the documentation).

      Power regulation: LP2950 has a reasonable specified temperature coefficient, but 78L05 will also work fine!

      Thanks,
      Kassu

      Delete
  2. Hi Kassu, thanks for sharing your work. What a beautifully designed and documented project. Thank you, John

    ReplyDelete
  3. Hey Kassu, great work! Love the sound of the vco.

    Are you still selling the PCB?
    I want to build a vco myself, and that looks/sounds beautiful!

    ReplyDelete
    Replies
    1. Yes, I am still selling the PCB. Just send me an email or message through the contact form so I can reach you back!

      Delete
  4. The output buffers kinda look like comparators.
    Is that in fact what they are?

    ReplyDelete
    Replies
    1. The output buffers are opamps used as non-inverting amplifiers. The different resistor values are chosen for each waveform to adjust the amplitude to 10Vpp and to offset the wave such that is centers around 0V.

      Delete
    2. Is that why you have 12VA and 240K r to offset the voltage??

      Delete
  5. Thank you for this PCB - received mine in a few days. Nice compact design, well documented and straightforward to build.

    On the edges of the pulse wave and the sharp edge of the saw I get pretty strong ringing up to 3V amplitude on top of the 10Vpp. This can be cured with 4.7 pF capacitors across pins 1-2 and 6-7 of U1.

    Anyone else see this?

    ReplyDelete
    Replies
    1. Yes, I also see some ringing on the sharp transitions but decided that it is not critical. Adding the capacitors as you suggest is a good addition though. 4.7 pF is actually a quite small value there, putting the bandwidth at over 300 kHz, but if it is enough to stop the ringing that's great! I'll see if there is space for some capacitor footprints in a future revision.

      Delete
  6. I was also wondering if it is worth applying some clear coat/varnish to the birch panel for added protection - or is that already part of the process?

    ReplyDelete
    Replies
    1. I use the panels as such, but adding a clear coat will give extra protection. I would probably use an acrylyc based product.

      Delete
    2. Thank you for the extra info!

      Delete
  7. Hey, does anyone have an idea what could be wrong with my OSCs, i've made several of them and all of them have a strange vibrato as if some strange FM was going on with fixed frequency??? With this feature, though, I can totally reproduce the intro of the Cure's Forest: https://www.youtube.com/watch?v=zJQRfhYEMqk
    CV seems to be ok when I check it with oscilloscope...

    ReplyDelete
    Replies
    1. Hi! I haven't heard of this issue before. Are all three of them modulated with the same frequency? In that case it could well be some kind of electrical interference related to the power supply, other modules or other electronics nearby. Could you check one of the VCOs separately on a different power supply?

      Delete
    2. The issue is present event without modulation: if I sweep the tune knob, I get faint wobbles in the background as if I modulated pitch with some hearing range frequencies. I'll have to get some other PSU to test the gear with. I don't have any issues with my uZeus, however there is some noise present in other modules... Maybe I just need a proper power brick.

      Delete
    3. This comment has been removed by the author.

      Delete
    4. Hello! (edit)

      I tried today on a "standardized" system. Same results with all 4 oscs. I must have messed up something with BoM, because there's no way I could recreate the same defect by soldering on all 4 oscs.

      Here's the recording, where FM gremlins can be clearly heard: http://www.ljudmila.org/grejpfrut/primvla/osc_fm.mp3

      I just sweep the coarse tune (all 4 waveforms) and output to mixer and recorder.

      I'm total electronics noob and I can't find the culprit, maybe some of you guys can give me a hint who the odd one could be? I can post my BoM if needed...

      Delete
    5. I'm having the same problem here :(

      Delete
    6. Yep , exactly same problem here, horrible aliasing type noises. I think it may be AS3340, every youtube demo I have seen with AS3340 sounds dirty. Have to order some CEM3340's and test with them.

      Delete
    7. Once you have tested with the CEM3340, could you let me know if the problem is fixed? With my AS3340 VCOs I definitely don't have these kind of aliasing sounds, but perhaps some of them are problematic and others are not.

      If the problem is not solved with the CEM3340 I would also be happy to have a look at your VCO, to see if I can track down the source of the problem. I can't test this issue otherwise since I don't know a way to reproduce it.

      Delete
    8. Thanks to Mikko I now had the chance to inspect this issue, and it turns out it was a stability with the +5V voltage regulator U4 (Onsemi LP2950ACZ-5.0). The solution is to add a 1uF electrolytic capacitor across pin 1 (+) and pin 2 (-) of U4.

      Alternatively, using a plain old LM78L05 for U4 should also fix any oscillations, since that part is inherently more stable.

      Delete
  8. I can hear the FM-like sounds. Here is a spectrogram plot of part of the file, made with Audacity, where you can see the modulations clearly:

    https://1.bp.blogspot.com/-cVWQJEu3SrQ/Xcg-gLP0YuI/AAAAAAAAAKU/LC2LLBD8LNM4gBiSWFbcKMoe_UbvF_-YQCEwYBhgL/s1600/spectrogram.PNG

    The white line is the fundamental of the VCO, the purple "cross hatched" pattern is all kinds of intermodulation products.

    How are you listening to the VCOs? Some kind of aliasing would create similar problems, if it is going through a digital thing that doesn't filter out the high harmonics (the analog VCO has very high harmonics). Or perhaps one of the VCOs is modulating the others, what happens if you change the other VCOs while listening to one?

    ReplyDelete
    Replies
    1. I have also tried all 4 of them separately, with just PSU in a case. Through mixer, directly to PA, directly to headphones, recorded to zoom,... Always the same phenomenon. My other oscillators have clean sweep. I also can't get near the decent sine wave, it's always some sort of crooked triangle. I must have done something wrong with BoM, I can't think of anything else that would repeat so perfectly four times (it's not the PSU). But I have no idea what could possibly be the source. I was too eager and built all 4 of them at once before testing the first one. They have character, though :) and with plucks and chord stabs, the feature won't be so noticeable as it was with pitch sweep. Pads on the other hand shall wobble a bit.

      Delete
  9. Hey, I would really like to build this, and im gonna purchase the PCB. I want to obtain the parts myself though. My question is does it really matter whether the capacitors are C0G/NP0, or can i just use these? https://www.taydaelectronics.com/test-group-2.html
    Thanks

    ReplyDelete
    Replies
    1. Also, is it possible for you to make a page where the links are to the components I am struggling to find some of them

      Delete
    2. Hi! The capacitor C1 determines the frequency of the VCO, and should really be C0G or NP0. The others are not so critical.

      I can't keep an up-to-date list of component links for everything, since the sellers are always changing what parts they have available, but I will work on a list for some of the less common ones in the future.

      Delete
  10. Hi Kassu,
    I begin with a synth. I made the two VCO with your PCBs but a bit customized (coarse tuning replace with Octaves 0...+5). Thanks for the documentation and the quality of the PCBs, it's really perfect!
    They work fine but I have a problem with the sync : I try the sync between VCO1 and VCO2 with the pulse output of the VCO1 and there is a positive pulse in the output signal (tri) of the other on the edge of the pulse of VCO1.
    Do you know what's going on?
    Is it possible to post a file (image of the scope screen)to show the problem?

    ReplyDelete
    Replies
    1. You can send me more details via kassutronics at gmail.com.

      To play with the sync, you can try different waveforms as sync source, and using an attenuator before the sync input also can give different variants of sync sounds.

      Delete
  11. Hello! I couldnt find any 10pF for the C14, C15. Can I switch those to something else without problem?

    ReplyDelete
    Replies
    1. Hi! These capacitors are not critical, they just avoid a bit of overshoot on the square and saw outputs. If you have anything in the range of 2 pF to 22 pF you can put those. Otherwise you can also omit C14 and C15 completely, the overshoot doesn't have any audible effect.

      Delete
  12. Hello,
    I want to thank you for posting your work.
    I'm trying to work my way though the 3340 specs and how you've implemented your design so I have a couple questions.

    1. Based on the 3340 specs, changing C1 from 1nF to 1uF would yield an accurate frequency range between 10uHz (~100s period) up to about 10Hz?
    2. Brushing up on my limited electronics knowledge ... The maximum voltage on the freqCV is +/-6V permitting the usual +/-5V CV signals. Am I correct the the freqCV is current based (max 40mA)? I'm trying to work through the math from the specs to determine frequency from the CV voltage / current.

    Thank you.
    Chris

    ReplyDelete
    Replies
    1. This comment has been removed by the author.

      Delete
    2. I spent some more time looking over your Yusynth VCO core article and I think I figured out my source of confusion about question 2 above. I was forgetting about the opamp on the cv inputs. Changing the gain on that opamp would allow a larger (or smaller) cv voltage range (up to +/- rails). Your 3340 design does not have the external opamp and so is limited to the 3340 specs (+/- 6v, 40mA).

      Delete
    3. Hi!

      1. Yes, the frequency range would change by a factor 1000. However, for LFO frequencies like that you probably don't need exactly 1V/Oct, so I would go for a bit smaller capacitor (say, 100nF or less), so you can have 1V/Oct tracking in the lower audible range. You can still get way lower frequencies by feeding negative CV (or changing the resistor values in the CV knob circuit).
      2. Don't confuse the absolute maximum ratings with useful operating conditions. In normal operation, the CV input pin will always be at 0V, since the 3340 basically has an opamp built in there (functioning similar to the Yusynth input circuit). Indeed the current into that pin determines the frequency. The current range of +/-40mA is again absoute maximum rating, in practice the current will be a few 100 uA at most.

      The original CEM3340 datasheet (you have to find the complete version) has a detailed description of the frequency control circuit with example calculation. The section "Course tuning range" under "Potential modifications" in my module documentation has also some formulas to calculate the range.

      Delete
    4. That's a good point about keeping the V/OCT tracking towards the lower audio range. Thank you again for the advice and especially for posting your designs and descriptions. Half the fun of getting started in modular synths for me has been learning how they work and you have been a tremendous help.

      Thank you,
      Chris

      Delete
    5. I've got some more reading to do but when you mention the CV input pin will always be at 0V ... that's a result of the virtual ground node going into the opamp (A1) in the 3340?

      Delete
  13. Started calibrating my first 3340 last night and I couldn't get Y to equal any less than four times X (usually when I am at 100hz and go up an octave I get about about +400hz and no matter how much I trim I can't get it much below that. I'll try one of the others I built tonight and report back.

    ReplyDelete
    Replies
    1. Double check the values of R1, R2, R5 and RV1, and make sure you have turned RV2 all the way such that it's middle pin is at 0V. Good luck!

      Delete
  14. Due to an error in my breadboard sequencer the VCO has seem a much higher voltage on the 1v/oct than usual.
    Any guidance on what to check first for defects? The AS3340 chip, opamps?

    ReplyDelete
  15. This comment has been removed by the author.

    ReplyDelete
  16. Hi Kassu! Thanks for great VCO, but I have problem with sine - I have triangle on output.

    ReplyDelete
  17. Can I replace J201 to J112 (sine)?

    ReplyDelete
    Replies
    1. Hi! J112 won't work, the JFET needs to have fairly low VGS_off for this circuit to work. There is more information and suggested JFET types in the end of the build document :)

      Delete