Friday, August 29, 2025

Adding overdrive to the ladder filter

If I need to add overdrive to the ladder filter, I can free up one CV channel already routed to the board by using the same CV for trimming 2 and 4 pole output. I just need to store the trimmer value for each and switch between then when switching mode.

Another thought is - the little phatty does not use trimmers on any of the OTAs, perhaps one can get away without them? 

Thursday, August 28, 2025

Little Phatty overdrive

I can't remember if I've written about this before, but I've certainly looked at it.

EDIT: Turns out I did, in great detail! https://atosynth.blogspot.com/2024/01/moog-overload-circuit.html

I'm trying to retrofit overdrive to my ladder filter, so I had a closer look at how the little (and slim) phatty does it. The slim phatty schematics are available online but the circuit is spread across multiple pages so it's a bit harder to see what is going on.

Here is a simplified schematic:

 

There are a few surprises here:

- there is no feedback from the filter output to input, which is the way the minimoog achieves overdrive.

- it uses a pretty standard soft clipping circuit with CV-controllable clipping - the overdrive of the minimoog filter, if I recall correctly, happens in the transistors of the differential amplifier at the end of the filter.

- the output of the overdrive is fed back to the oscilllator mixer and returned to the soft clipping circuit

- the mixer is not a normal inverting summer op amp - it's just an op amp buffer, with all inputs connected to the positive input. This is possible because the OTA outputs are current, not voltage outputs

- the differential amp of the filter is realised using op amps, which won't give soft clipping when overdriven. 

- the filter has an additional output gain OTA.

It's a pretty neat circuit, and all three OTAs - feedback, distortion and post-filter gain - are driven from the same CV. 

 All CVs are biased in various ways, to +5 or -5, I haven't studied exactly how they work in conjunction. Neither is it clear to me if the post filter OTA contributes to the overdrive in any way or if it just makes up for lost gain during overdrive.

 

Major take-away

Distregarding the post filter gain, all distortion happens before the filter, just as I'm currently doing in my synth. I don't have the additional feedback OTA though, whatever that does. 

 

Monday, August 25, 2025

JX-8P cross modulation

I've visited this before, but I got a bit confused when looking at the circuit, so here is some details of what is going on.

JX-8P cross modulation is in fact amplitude modulation of DCO-1 by DCO-2. 

Here is the circuit:

 

The strange four-triangles are switches. The three NPN transistors work as VCOs. Two of them are controlled by the CV/sample-and-hold circuits and control the output of each DCO to the mixer. The third, AM VCA, is controlled by the output of DCO-2.

As a side note, noise is injected through the 4.7k resistor in the top center, instead of DCO-1 (presumably, they could be mixing though but that makes the whole setup a bit strange.

Standard mode

Then switch D and C are closed (they receive the same control signal), the output of DCO-1 is routed to the DCO-1 VCA through D. C grounds the base of the AM VCA so it shuts off. In practice it works out something like this:


Cross modulation

When D and C are open, the DCO signal is routed through the AM VCA, like this:

 

Note that in both cases, the output of DCO-2 can still be added to the mix - but I'm not sure if the synth actually allows this or if it would have any use in practice.

DCOs

I was confused about the DCO saw generator too, for a little while - I couldn't see how it could have a variable charge current when the negative input was connected through a 100k resistor to the negative supply. That's of course wrong - the downwards arrow points to IC53 (and IC48 on the output) which are the "DCO Self Adj" (IC48) and the "Analog DMUX" (IC53, e.g. CV), so the charging current is CV controllable.

Further reading 

After studying the circuit I found a great explanation over at electric druid that has a more detailed explanation of what is going on - most interestingly, the saw wave is rounded after the VCAs. It is also stated that the output of the AM VCA is turned off when the input is negative, and speculated that this means that the saw wave is in fact never below gnd. This is highly likely, as the control voltages from IC48 and IC53 probably never go below 0.

https://electricdruid.net/roland-cross-mod-metal-sync/
 

Wednesday, August 6, 2025

Testing frequency changes related to pulse width

Update: Solved - it is not pulse width that is the issue, it's the pulse amp CV, just as in the waveshaper

 
The AS3340 suffers from a problem with the pulse width circuit where the oscillator frequency changes when the pulse with changes. 

I have made a separate circuit to prevent this, and tonight I did some measurements on the VCO to see if the fix worked.

Surprisingly, it did NOT:

 

The frequency is clearly directly related to pulse width. I don't know why, but it definitely means I have to look into this. Again. At least, this time I have a good tool for measuring stuff.

 

For reference, without modulating the pulse width, the frequency is stable:

Update - found the reason

For simplicity, I had connected the pulse width CV and the pulse amp CV together, even if the pulse amp is not in use.

When grounding the pulse amp, the frequency became stable:


 And then, with a stable pulse width (CV at 2.5V) and a changing pulse amp CV, frequency changes


 

Testing with updated VCA

With the new component values, the frequency is stable:


 
Pulse wave amplitude is changed a lot without showing up on frequency

Linear FM

And while we're at it, I checked linear FM (and routing of exponential FM), it works as expected:

Yellow: Output of DCO B, blue: output of VCO. DCO modulates VCO pitch

 
Red is VCO frequency, it clearly follows the DCO above. Note also that it is capped at 0, a through-zero FM VCO would work better here. That's for the next version of the VCO.

All in all, I'm pretty confident the new VCO version works as it should.
 

Friday, August 1, 2025

Improved CV inputs for VCO

As mentioned earlier, I'm not satisfied with how the VCO CVs work. Noise on the CV probably has a higher effect on the pitch than necessary. Here are my current thoughts on how to improve this:

First of all, move all summing resistors to the VCO board. This requires an additional pin for separate pitch and exponential FM input.

Second, reduce the Pitch CV resistor from 39k to 100k

Third, add a second pitch CV, also with 100k input, but make sure the CV is inverted (and 5V added to it) after it is generated. In this case, any noise present on Pitch CV 1, will be negated by the same noise on Pitch CV 2. Again, this requires an additional pin on the VCO board.

I'm pretty sure adding two extra pins here are possible, especially when removing the two resistors to the left of the top square (moving them to the VCO board).

 

The two 15p CV headers on the mainboard and the CV generation board can be replaced by 32 pin ones, like this female one:

https://jlcpcb.com/partdetail/XKBConnection-X6511FV_32C85D32/C2883749 


NB:

I am not sure how this is affected by noise on the ground plane, and how the VCO is affected by ground plane noise - because, if the noise is present at the ground plane (as seen by the VCO) but not on the CV generation board, the CV value will fluctuate, and vice versa. If it is present both places, I'd assume it would cancel out, but I'm really not sure about this.

Also, when adding 5V to Pitch CV 2, I need to think about how noise would affect this as well.  

Cem3340 four trimmer tuning

I can’t remember if I’ve written about this before, but there is apparently a way of tuning the CEM3340 (and AS3340) that is done in a single go, without the need to go back and forth between different potmeters. The downside is that it requires four trimmers instead of just two. Also, I don’t know exactly how it reacts to temperature changes.

The procedure is described in detail (with explanation of how it works) here: 

https://cabintechglobal.com/tune3340