CEM3320 low pass filter build

Hi everyone,

I’m trying to design a low pass filter module based on the CEM3320 chip. I’m using the circuit in the datasheet and the ‘easy read’ circuit from Electric Druid. This is my first foray into op amp circuits, so I’d like a second eye to verify that my calculations/logic is correct.

As I understand it, I’ve got the CV voltages from a pot(voltage divider) and the CV input jack going into a summing inverting amplifier, and then into an inverting amplifier to invert the summed voltages to a positive voltage.

Here’s the circuit

Kicad files are on GitHub

So, I have a few questions:

  1. Do I need any input protection on the CV inputs/ audio inputs?
    2.Does the op amp circuit look right?
  2. Is it possible to add LEDs (just to make it look nice :wink:) for clipping or CV input?
  3. Is there any use for the spare op amp?
  4. Are there any glaring mistakes in my circuit?

Any input(no pun intended) is gladly appreciated!

Thanks :smiley:

Edit: one unrelated question… Do the TL074s from Tayda normally have slightly brown legs, as if they have been ‘burned’?

i havn’t seen brown leg in any chips

1 Like
  1. Yes, the data sheet says that the absolute maximum rating (this does not mean normal operation!) for the frequency input is +/-6V and for resonance +2V/-18V. The -18V will not be reached under normal operation, as you are operating on +/-12V. You need to check that your attenuation brings the voltage down to this level or add a Zener clamp with the correct Zener voltage.
  2. It looks a bit complicated. What are the “Cut-off and resonance adder” supposed to achieve?
  3. (actually 2.) This is not easy and requires this in the design from the beginning. At the moment, clipping only happens in your circuit because of the maximum voltages that the op-amps can provide. You won’t be able to detect that. What you can do is to add an extra part to your circuit that detects voltages that are reaching the clipping point, see here for example.
  4. (3.) Is the output buffer even needed? I think the 3320 already has one built in, doesn’t it?
  5. I cannot see anything.

i am working on the elka multimode version

1 Like

We can’t see it the link don’t work :slightly_smiling_face:

" Oops! That page doesn’t exist or is private."


the 3320 seems to be unloved , little documented well…

I have seen a slight darkening on some chips. They work just fine for me though, no issues.

1 Like


I think that it is easiest to not bother with external CV over resonance(it’s not that important to me).For the voltage divider pot(resonance) I’ve gone through the datasheet and I’m confused as to what voltage corresponds to what resonance. Does 0v = 0 resonance and 2v = full self oscillation, or are there negative voltages involved?

For the frequency input, I can use a voltage divider to reduce 10v to 5v, (the op amps seem to clip at 10.5v in
my breadboard experiments).

The datasheet already includes a divider that gives a max output of 0.2V when 12V is applied to the input.

I’ve realised I can simplify this by using (correct me here) a unity gain non inverting summer.
V1>100k>op amp + input
V2>100k>op amp + input
Op amp - input> op amp output
I think(not tested yet) that this will average the two voltages, rather than add them.

Never mind then, just a thought.

Yep, you are correct again!

That’s good, Il’l go over it with a fine toothed comb once it’s done.

I’m off to go and revise the schematic in Kicad.

Thanks :grinning_face_with_smiling_eyes:

I think that voltage level depends a lot on the filter configuration and all the other component values.

There’s quite a bit of resonance information hidden in the datasheet:

  • The thing in the lower right corner is labelled “Gm” which means it’s an OTA and pin 9 is what’s usually called Iabc but they call Icr here.
  • It has an internal 3.6k resistor to ground on the input (so forming a voltage divider with the 51k resistor)
  • The conductance (Gm) at Iabc = 100 µA is 1 mS (aka mmhos), so 10 V in for the 100k resistor there. This tells you the feedback current for a given signal voltage (e.g. I = V × 3.6k/(3.6k+51k) × 0.001 for Iabc=100 µA, the unit siemens (S) is the inverse of ohm so we’re doing ohm’s law by multiplying instead of dividing).
  • Note 7 implies that the valid range is 0−100 µA (so 0−10 V with 100k). Not clear if linear.
  • The max resonance setting is 20−30 dB (let’s see, that’s 10−32×?)

but turning that into a voltage requires more circuit analysis than I’m capable of on a Sunday afternoon (and same applies to most other days of the week, for that matter). If you have this on a breadboard, I’d suggest experimenting a bit, either with the 100k and different voltage ranges (0−something) or different resistors and 0−10 V (or whatever CV range you prefer). Keep pin 9 between 0−100 µA and you should be fine.

EDIT: It’s still Sunday afternoon, but it strikes me that I = V × 3.6k/(3.6k+51k) × 0.001 for Iabc=100 µA (=CV/100k) means that you can change the 51k resistor as well. Tweaking that will shift the feedback voltage around, which will shift the feedback current. Instead of playing around with the CV, you could try different values here and keep the Iabc range as is (e.g. use a 50k trimmer in series with 22k instead of the 51k?)


Unfortunately I don’t have the 3320 on a breadboard at the moment, I’ve just been playing around with the op amp configuration. I’ll try and order a 3320 next time I need to buy from Thonk.

I’ll do some research on OTAs though, and go through the datasheet keeping your info in mind.

Thanks for your help!

Did you ever get this finished???

I struggled to fathom the resonance input as it’s current not voltage…

I have come back to my design a year later and none the wiser.


Unfortunately I never did take this project much further. I tried to transplant the OTA section of the MS-20 filter to use as a “voltage controlled resistor” but it never really got off the ground. I do believe, however, that @analogoutput was experimenting with the 3320 chip so he might have something brewing that we don’t quite know about…

If anyone else has a working state variable or otherwise 3320 filter they’d be willing to share that would be great, I’ve got 3 of these chips waiting to be put to use.


Stay tuned! I mean, it’ll be a while, but it’s in the pipeline.

1 Like



Following with interest. Life got in the way of this one so it’s good to see I might get it done after all. I’ll take a look later on.