Sub Destroyer - Multi Sub Octave Generator

I’ve been working on a lil’ module I could use some input on.

The idea is ‘Sub Destroyer’, a 5cm Kosmo version of this multi-suboscillator schematic from ED: A study of Sub-Oscillators (and Oscillator Waveshaping) – Electric Druid. 1 in, 1 out, 4 knobs to mix the signals. (Another idea is add CV control to each of the pots, but that might make it finnicky and cramped for a 5cm.)

A few questions:

    1. Does the mixing make sense? They’re buffered signals out from the TL074, so is it okay to mix them passively like this?
    1. The ED article says the circuit (designed for 15V systems) requires a clean -5V signal. I know some of the LMNC modules use a L7805 for this, but that’s for positive voltages. Does such a thing exist for -12 to -5 voltages, and if so, would such a thing be appropriate for this purpose?
    1. Does the 2N3904 at the start need diode protection? I read on a page somewhere that a direct signal line into a 2N3904 can lead to it potentially blowing up from overvoltage.
1 Like

I would play it safe and add an additional buffer. You are also changing the output impedance when you change the mix with the pots, which might make some modules go weird.
If you use a TL072, you could use the extra op amp unit to add a nice LED on the input.

Yep, its the L7905. They were very creative with the naming.

If I have my head screwed on right, you’ve got a diode in the right place(to block negative voltages.) The transistor’s base-emitter junction is functioning as a diode to ground, so R2 should limit the current through the transistor and keep everything working as it should.


I guess the mixing’s OK. You want low output impedance so the pots had better be 1k. And the output impedance will vary as you change the mix, which isn’t ideal, but as long as you’re going into high impedance inputs I think it’ll be all right. But really, adding a TL071 for an active mixer stage would be easy and not take up much PCB room, and would be the nicer way to do it. If you put a gain pot in the feedback of such a mixing stage, you could use the full range of your mixing pots and use the gain pot to stay out of clipping territory — otherwise, if you’re mixing four 10 Vpp signals, you have to keep all four mixing pots set low if you want to avoid clipping.

I’d consider leaving out the 330R resistors and 47 pF caps. They’re to stabilize the op amp output if it’s driving a capacitive load, but since you’re going straight into the mixing pots I don’t think that’s an issue.

There’s an L7905 which is a -5 V regulator, but that’s for supplying power and here you just need a voltage reference, which gives more precision but less current. You can use a shunt reference like an LM4040 to make either a positive or a negative reference:



In the Electric Druid circuit they’re using -15 V and 300k input resistors as a “quick and dirty” way. (Your diagram doesn’t have the connection to the negative rail.) With a -5 V reference those resistors would be 100k. 50k on the -1RMP stage, I guess. [See below.]

Your 2N3904 has diode protection. You don’t want a large negative voltage on the base but the diode shown is there to prevent that. You don’t need to worry about positive voltage, it’ll handle +12 V with no problem.

Your collector’s connected (via a resistor) to ground, that won’t work.

Added: With passive mixing, you get the average of the inputs, so if you’re using only one output and have the other 3 turned down to 0, you get only 1/4 of the full amplitude. With an active mixer you get the sum of the inputs, so if you’re using only one output, you get the full amplitude.

Added more: Oh, and for 12 V, you need to adjust all the input resistors for the op amps. As it is it takes a 0 to 15 V signal and a -15 V bias and turns it into -5 to 5 V, but for 12 V both resistances need to come down by a factor of 12/15, I guess.


Yes, the collector should be tied to 5V.
Also, are you sure there isn’t something odd going on here:
I think those two nodes are connected but can’t quite tell.

1 Like

+15 V actually, in the ED diagram (+12 V for Kosmo/Euro).

1 Like

I’m on autopilot from designing 5V based circuits this morning. Mentioning -5V regulators didn’t help either :laughing:

12V. Via a resistor.


Ah, yeah, that was a dumb placeholder until I got advice about the reference voltage, which AO has graciously provided.

I think you guys are right, active mixing is the way to go. There should be room on the board for another TL without any issue, and the LED is a good idea. Everybody loves blinkylights.

Plenty to chew on here, thanks very much! Will report back.


Added more: Oh, and for 12 V, you need to adjust all the input resistors for the op amps. As it is it takes a 0 to 15 V signal and a -15 V bias and turns it into -5 to 5 V, but for 12 V both resistances need to come down by a factor of 12/15, I guess.

I’m trying to understand this addendum in detail. I pinched a -5V snippet with a LM4040 from Mutable Instruments Grids, so there should be a clean -5V available. Does that mean all of the 300Ks can be 100K, or should they be (300 * (12/15))? Looking at it again, I think you mean the first, unless doing the “quick and dirty” with a 12V, which I’m not (although maybe that’ll sound dirtier, which I what I want.)

Does changing the power from 15 to 12 on the collector change mean that other resistors have to be scaled as well?


What’s going on in the original is you have a 15 Vpp signal (0 to 15 V). You want that to be 10 Vpp, so it needs to have a gain of -10/15 applied. With 100k feedback resistor and 150k input resistor, that’s what you get.

But you also want to offset it to get a -5 V to +5 V output. That is, you want an additional DC -5 V bias at the output. With -15 V going in you need a gain of -5/15, and that’s what you get with 300k input resistor and 100k feedback resistor.

If instead you had a -5 V reference then you’d need a gain of -1, so you’d use an input resistor of 100k.

For a 12 V system:

You want to scale 12 Vpp to 10 Vpp, so you need a gain of -10/12; an input resistor of 120k (with 100k feedback) will do that.

If you were to connect the bias inputs to -12 V you’d want a gain of -5/12, so you’d need 240k input resistors.

But if you have a -5 V reference you again need a gain of -1, so again you’d need 100k input resistors.

Summary: For 12 V, with -5 V reference, use 120k input resistors for the signal (instead of 150k) and 100k for the bias (instead of 300k).

For the ramp output it’s different, I haven’t worked that out but if you need help figuring that out let me know.

1 Like

2 things that come to mind:

  • Why no global labelspower symbols for the power rails? They make the schematic harder to read and can make ERC throw errors depending on your schematic symbols.

  • Are D and Qbar of U1A supposed to be connected? If not, use no connect symbols (wee blue X, right toolbar)to tell KiCad (and schematic readers) that they deliberately aren’t connected.

1 Like

For R14, you’re not going to find a 50k resistor easily — the closest E24 value is 51k.

Aside from that, by the way, I concur with the resistor values you have on the ramp output. You have a 10 Vpp input ramp and a 12 Vpp square, both positive going, and a -5 V bias. You want a gain of -1/2 for the ramp wave, which you get with 51k feedback and 100k input; -5/12 for the square wave, which you get with 51k feedback and 120k input (100k fixed + trimmer); and -1 for the -5 V bias, which you get with 51k feedback and 51k input.


Okay, sounds good! I think we’re set then… ready for layout? I hope that master volume knob is the right way round :grimacing:


I think what @sonosus meant was, use power symbols, not global labels, for the power rails. As you already do for ground.

I just noticed you don’t have input resistors for the output stage! You do have potentiometers but they’re voltage dividers, not input resistors. I’d use 10k for the attenuator pots, the input resistors, and the feedback pot.

The LED won’t work. First of all, the U4B input is connected to a virtual ground point, so it won’t see any voltage signal. You need to connect to the output of U4A. It’ll be looking at the mix of all four signals, including ramp; it’ll be off when the the signal is negative, but since you’re probably feeding audio signals you’re not likely to see it blink, just either light up or not. Brightness will not be proportional to signal amplitude — if the pots are turned down low it won’t light up at all. If that’s OK with you, go for it, but you don’t need an op amp to do it, just connect it and its resistor to the output of U4A. On the other hand, you could put the LED in the feedback loop of its own op amp to drive it with a current proportional to the output voltage, and then its brightness will be more linear with the amplitude, though it’ll still be off half of each cycle.

Oh… and for D4 and D5, use Schottky diodes. I use 1N5817.

One more thing: I advise not using either the reference field or the value field as a function tag. For instance J1 has “INPUT” for a value and your pots have references like “-1SQR1”. Either way it messes things up. Granted, J1 doesn’t really need a value, it’s just a header (or is it a jack? There are jack symbols, you know), but when you start using the value field for tags it screws up KiCad’s useful ability to generate a BOM for you. Instead of tellling you “Audio jack, quantity 8” it ends up telling you “V/OCT, quantity 1; EXP FM, quantity 1, LIN FM, quantity 1, PWM, quantity 1, TRI, quantity 1…”. As for using references for tags… ugh, no, just don’t! Use text for tags, and/or labels (local or global or whatever) on the connections. They won’t make their way automatically onto the PCB silkscreen but that’s okay, you probably will need to edit and position labels on the silkscreen anyway. And labels at least will appear on the pads in pcbnew.


I just noticed you don’t have input resistors for the output stage! You do have potentiometers but they’re voltage dividers, not input resistors. I’d use 10k for the attenuator pots, the input resistors, and the feedback pot.

Oh, okay! I don’t think I understood how this was working. So I went and read this page: and it seems like the resistance values are really about the ratios with the value in the feedback loop. I guess by having them all as zero resistance and 100K in the feedback loop, it becomes a ZeroDivisionError and segfaults the universe.

So, it shouldn’t matter if I use 10k or 100k as long as they’re both the same. Sam uses 100k in the mini mixer and I think they’re more common (at least I have more), so that should be okay right?

That also got me thinking that maybe it should be a non-inverting amplifier rather than an inverting amplifier if it’s going to be mixed with the dry signal. Maybe that won’t matter since the dry signal is a different frequency, so it’ll be up and down all over the place anyway… it’ll probably be fine…

Here’s the rejiggered LED bit, is that what you mean?

Showing amplitude would be nice, but I guess I’d be happy just showing any signal but might as well use the spare opamp cell.

I guess you’re right about the labeling of RV’s, it makes them easier to discuss, I just got into the other habit because it means there’s less work to do at the layout/labeling stage.

Thanks again for your eyeballs! This has saved me weeks of broken prototypes from JLC :slight_smile:

EDIT: wait this still might not make sense goddammit


Using lower resistance gets you lower noise. It also consumes more current, but at 10k still not much. 100k is often needed on input stages because you need high input impedance for the module, but for non input stages lower resistances are (frequently) good.

You’re still using the value field to tag the pots, and that’ll mess up BOM generation.

Good point about inverting vs non inverting. But it’s not being mixed with the dry signal, at least not inside this module. Still, you could add a second inverting stage; I think that would be a better use for U4B. Summing your four signals would be trickier with a non inverting configuration; you’d be back to having the average of your signals, rather than the sum, unless you quadruple the gain. Or, as you say, since they’re all different frequencies, the inversion doesn’t really matter.

If you do want to drive the LED with an op amp you can do something like this

Input (Vin) is on pin 5, and pin 6 is kept at the same voltage, which means the voltage drop across the resistor equals Vin, so the current through the resistor is proportional to Vin (Ohm’s law), but that’s equal to the current through the LED (since no current can flow in or out of pin 6), so the LED brightness is proportional to Vin.

1 Like

Back to the very first post, im curious why you /the electric druid/ roland chose to use 2 flip flop ICs rather than a single binary counter which could do way more subovtaves than you need from one chip…

1 Like

Oh yeah. Whoops. I zoomed in and realised that IS one IC, its just split on the schematic just like, aaah, every other IC ive ever worked with that has internal multiples…

1 Like

Thanks for everybody’s input on this! It’s a little snug, but I think it’ll all fit. Very excited about this one, I think this is the last one I’m going to do for a while, then I can step back and finally make some music… he lied to himself…


Routed and paneled! Let’s goooo