CEM3340 module

all the parts needed to use the voltage controlled oscillator CEM3340

Similar projects worth following
This is the minimally modified example schematic from the first page of the datasheet, with SMD parts, except for the high quality 1000 pF through-hole Mica capacitor, as recommended in the datasheet, and the 2 trimmers. All you need externally is just a +/-15 V power supply (+/-12 V of an Eurorack module power supply works as well) and a potentiometer for the voltage controlled input to create some audio signals.

This module makes it easy to use the CEM3340, which needs quite some external components by itself. With this module all you need is a dual power supply with +12 V / -12 V, which you might already have if you have an Eurorack, then a breadboard, a few wires and a 10 k potentiometer to test it. You can order the board, a stencil, and all parts (except the CEM3340) from Aisler. You can order the CEM3340 from Thonk.

In the files section you can find the datasheet of the CEM3340 and the KiCad files for the circuit diagram and the board layout. In the Gerber directory are the Gerber files, if you want to order a board.

After soldering the board, connect J3 to +12 V, J11 to -12 V and J2 to GND (+15 V / -15 V is also possible). Then connect the soft sync input J6 to GND, connect a 10 k potentiometer from the +10 V output at J13 to GND, and the slider of the potentiometer to J12. At J5 is now a sawtooth signal. You can change the frequency from about 0.5 Hz to 680 Hz.

The CV input at pin 15 of the CEM3340 is a current input. This means this pin is a virtual ground inside the chip and you can just add multiple external currents to it. The J12 input uses a series 100 k precision series resistor. This converts an external control voltage (CV) to the current CV/100k. 

The pin J4 of the module is directly connected to the pin 15 of the CEM3340. You can either use another external 100 k series resistor, to add another CV, or you could just add some offset current. For example if you connect J4 with a 180 k resistor to the 10 V output at J13, the range of the external 10 k potentiometer is from about 62 Hz up to 54 kHz.

The CV input is an exponential input with volt/octave behavior. This means, if you increase the voltage by 1 V, the frequency is doubled. Use the calibration procedure explained in the datasheet on page 5 for the two trimmers to adjust the exponential accuracy for the lower frequencies (RV2) and the higher frequencies (RV1, starting at about 5 kHz). Read the rest of the datasheet for more information about the other inputs and outputs.

Testing on a breadboard:

The additional components are an Arduino Nano and a DAC in the middle, not used at the moment, but I plan to implement something to use it as a MIDI receiver (MIDI-2-CV). At top is an op-amp, which buffers the output signal of the CEM3340, because it can't drive much load. With a 330 ohm series resistor and a 10 uF capacitor, the op-amp can drive a small speaker.

Some devices have a volt/octave CV output, like the Beatstep Pro. You could just connect this to the CV input at J12. Then add an envelope generator for the trigger output, maybe with a VCA like the V2164, and you would have a fully monophonic synth.

Some remarks for the components selection: Most capacitors are C0G capacitors instead of the cheaper X7R version, because they exhibit a lower microphonic effect (inducing a voltage when you tap them) and the capacity doesn't change as much with the applied voltage, as with X7R (doesn't matter for the 100 nF capacitors, because they are just for the voltage regulators). For the resistors I chose low tempco types, so that they don't change much when the temperature changes, which is always a problem with analog synths. The value of most resistors are not critical, but the 100 k resistor for the CV input should be very accurate (0.5 % or better), if you plan to add more summing inputs with external resistors, which then should be as well high accurate 100 k resistors. And finally the 1000 pF capacitor is the most important part, determining the quality of the oscillation. Therefor I used a Mica capacitor, the best you can get regarding capacitors (meaning it behaves as best as an mathematically ideal capacitor as possible) and which is recommended in the CEM3340 datasheet. But a cheaper modern film capacitor might be possible, too.


circuit diagram of the CEM3340-module as a PDF file, if you don't have KiCad

Adobe Portable Document Format - 30.43 kB - 10/01/2018 at 01:48


KiCad and Gerber files for revision C

Zip Archive - 189.95 kB - 09/30/2018 at 21:54



CEM3340 datasheet

Adobe Portable Document Format - 3.59 MB - 09/30/2018 at 20:37


  • 1 × CEM3340 The CEM3340 oscillator chip. Buy only the original, for example here: There are unofficial clones out there as well, don't support them.
  • 1 × DIP-16_W7.62mm_Socket Digikey ED3016-ND, machined gold plated 16 pin DIP socket
  • 2 × R4, R7 Digikey P123767CT-ND, 470 ohm resistor
  • 2 × R5, R6 Digikey MCT0603-1.00M-CFCT-ND, 1 Megohm resistor
  • 1 × R8 Digikey 749-1753-1-ND, 560 k resistor

View all 18 components

  • next revision

    Frank Buss09/30/2018 at 21:29 1 comment

    I got the boards and parts from Aisler for revision B. After soldering everything, first I measured the voltage regulators. The -5 V was fine, but there was no +10 V. Turns out that I forgot to connect the SHDN pin to VIN. Usually such pins can be left floated, but as the datasheet says, you have to connect this pin for the MCP1804.

    After this I tried the sawtooth output again, which had the high frequency noise in the last revision. And the noise was still there.

    I thought maybe that the trimmers could introduce some noise, if they were wirewound or something like this. So I desoldered them. But the construction looks pretty good, with just two small stripes:

    Detail image of the slider:

    Without the trimmers, the noise was still there. So I lifted the pins of the CEM3340 one by one, starting with pin 1:

    When I reached pin 9, the noise was gone! I guess the layout could be a problem, because the triangle output at pin 10 is right besides pin 9:

    For revision C I moved the capacitor a bit to the right for better distance.

    But the datasheet says also, that you should ground pin 9 with a 100 nF capacitor, if not used. So after resoldering everything, I just connected J6 to GND, and the noise was gone as well! Lesson learnt: always read the full datasheet, especially if there are some pins left unconnected.

    This is how the final version looks like. Top side:

    Bottom side, with the small patch for U3:

    Now the sawtooth looks perfect:

    It goes down to 0.5 Hz:

    and up to more than 20 kHz, but then the waveform gets a bit distorted:

    But you can't hear this anyway unless you are a bat :-)

  • First revision tested

    Frank Buss08/26/2018 at 13:27 0 comments

    I got the boards for the first revision. You can get all you need from AISLER: "beautiful boards", "precious parts" and "stellar stencil" as they call it (which by the way, is an alliteration)

    Unlike other PCB manufacturers, you can order your parts for the board with it, everything which is available at Digikey. This saves some money because you don't have to pay the Digikey shipping fee, and the AISLER shipping is completely free as well.

    With the stencil I applied solder paste (not these lead-free rubbish, for project I don't sell, because that's not allowed in Europe, I always use good old leaded paste, this time Chip Quik SMD291AX) :

    Doesn't matter much, if you don't place the parts exactly:

    Usually after the reflow soldering, they are aligned:

    This was the first time I tried my new T962-A reflow oven. Needs some tweaking, because the measured temperature with an external thermocouple on the board was too low, I had to use the lead-free temperature profile for a high enough temperature for the leaded solder paste, but there are some project to hack the firmware of the oven. Will try it soon.

    But overall it worked well. This is the board with all SMD parts reflow soldered:

    While testing it, I noticed that the high frequency pot didn't work. The reason was a wrong connection of one resistor. Trying to fix it on the board with another SMD resistor didn't work out so well, but I could use a through-hole resistor:

    This is the setup on a breadboard:

    At the bottom you can see the CEM3340 module. With one pot I could change the frequency, the other pot was for the duty cycle, which is not needed, if you don't use the square output. Another pot was for the second CV input. If I removed the fixed 360k resistor, the range was amazing: I could change the frequency from less than half a Hz to more than 20 kHz!

    The other parts on the board are an Arduino nano and a 16 bit DAC, which I plan to use for a MIDI-2-CV converter. And at the top you can see an OpAmp to buffer the outputs of the CEM3340, because they can't be loaded too much.

    But as you can see in the example circuit diagram of the datasheet, which I've used for my circuit as well:

    the fixed 360k resistor is connected to the +15V supply, which means the frequency changes if the power supply is not stable or changes. I also have a strange problem with oscillations. This is supposed to be a sawtooth:


    I guess the problem is that I used the auto-router, so the critical connections like to the 1 nF oscillator capacitor are too long, and there is no nice ground plane.

    To solve both issues, I added a positive low-drop linear voltage regulator (the chip works fine at 10V as well, so power supply can be still 12V, as it is used for Eurorack modules), and for good measure a negative -5V linear voltage regulator as well. This is the updated circuit diagram:

    I also changed the two CV inputs to one standard input with the 100k resistor. This provides some protection as well. The way the CV input works is that there is an internal OpAmp in the CEM3340 and it keeps the VFCl input at ground level. The VCO is driven by the current into this pin. This means you can add as many inputs as you like, with the resistors to convert the CV voltage to a current, which is then summed.

    For more flexibility for the resistors (if you choose higher values, the weighting is lower etc.), I connected the second CV input directly to the chip. In combination with an additional pin to output the new regulated 10V voltage, there are more possibilities how to use.

    Then I manually routed it this time:

    All 0402 parts are changed to 0603 as well and there is still lots of space on the board. One square inch is sooo big :-) Hopefully...

    Read more »

View all 2 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates