Converting -10-+10 LFO to 0-3.3v

Hi everyone,

Is there a simple approach to converting a LFO output from -10/+10 pp to 0-3.3v? I’m using the halliant lfo (schematic:

I’m guessing I’d need to attenuate the signal and then apply a dc offset - unless there’s a better way?

If not, doing the attenuation is fine, but how do I actually go about adding a dc offset? Does anyone have a schematic?

1 Like

Thank you, that’s really helpful.

Ideally, I’d like three LFO outputs from one LFO, though - one +/-10v with amplitude control for opening and closing a filter, then two scaled outputs with their own amplitude controls at 0-3.3v for PWM and FM of the Pi Pico DCO.

As I’ve already built the front panel with an LFO I’m hoping to replace, I’d like to try and only build the one LFO. I can squeeze in two new amplitude pots for PWM and FM, but not another set of controls.

I was going to take the switch output to 3 separate amplitude pots, then have each pot going to their own gain stage (I’ll add in a TL072 for the extra stages needed).

This is taken from the Electric Druid VCDO page, it’s very similar where he takes a +/- 5V lfo and converts it to +5V. Should be easily adaptable to your requirements, do you need to bias the FM input a 1.675v to have +/- modulation? This circuit has a zero trim that should allow for this.

1 Like

I used this kind of solution, MCP6002 is powered with 3.3 V, so diode protection after it isn’t even needed.

1 Like

Oh wait, I think I completely misunderstood your question. I thought you were talking about powering the LFO with 3.3 V. You meant powering it with ±12 V and getting a 0 to 3.3 V output, didn’t you?

Ignore what I said.

To send the same LFO signal to three destinations you can just connect all three to the output op amp. The schematic you posted has no current limiting series resistor on the output. If it’s going to an output jack I’d add one, should be 1k. Then if you want to send the LFO to three places you could add two more output jacks with a 1k resistor for each all connected to the output op amp. Or you could replicate everything after the switch, connecting all three to the switch, that’d more effectively buffer the three outputs from each other in case of plugging the output into something bad. Either should work. Then use one of the posted solutions above to rescale the LFO for CV input to the DCO.

1 Like

66.5k is quite a non standard resistor value, but all that needs to happen is for the resistors to all be larger than or at least similar to the pot resistances (which weren’t specified, 100k would be okay though a little too large with 66.5k) and the ratios of R28 or R4 to the others to be 3:1. 300k and 100k would be good.

1 Like

I think he just wants 0-3.3v to drive an analogue input of a Pico and his source is +/-10v signal from an LFO.

1 Like

Thanks for the replies everyone - sorry I should have been clearer about what I’m doing.

First of all this is not a modular built, so everything will be hardwired internally. It’s already built, but I was unhappy with the performance of the LFO. I want to replace it with a better design, and add some new functionality.

@craigyb is right - I’m building a single LFO to the spec of the Halliant LFO I linked, I’m going to send that output to my filter and PWM.

However, I also want to have a third, reduced output from the same LFO that’s scaled to 0-3.3v, which I can send to the analog input on the Pi Pico, so that I can add FM modulation.

I just wasn’t sure on how to actually get to 0-3.3v, but the approaches that have been posted have given me some clear ideas on how this would work - I hadn’t realised adding dc offset was achieved by essentially just mixing the ac signal with a dc source.

1 Like

Thanks - wouldn’t it have to be adding -10 though, and -3.3, in an inverting config? Or have I misunderstood something?

I was thinking of tapping off the LFO, attenuating it to about the right level, say -/+3v, then mixing in -1.675v dc offset and running into the inverting input… would that work?

It is just inverting the result of the summation, so this is right.
That inversion is easy to adjust for in software, and costs one less op-amp (and noise and offset and all that funny analog things…)


Brain not working. Let me try again. Yes, you need a -10 V offset to get a positive output. An MCP6002 op amp powered with 0 V and 3.3 V would avoid the need for voltage protection.

If there’s already an inverting summing op amp in the DCO design you can just use that, add the LFO and -10 V offset through resistors that are 6x the existing feedback resistor to whatever else is already going into it. If the feedback is 100k for instance then you’d need 600k, which isn’t standard, but you could use two 300k in series.

Sure, you could do it sort of that way. Actually you’d attenuate the LFO output to ±1.65 V (2 resistors), divide the -12 V rail down to -1.65 V for the offset (2 resistors) and put them into a unity gain inverting summer (3 resistors) to get 0 to 3.3 V. But doing the mixing and scaling at the same time as I showed is above simpler and uses two fewer resistors.

1 Like

Great, that makes sense. Thanks!

Maybe a bit late in the discussion, but I built an attenuverter / offset module which can do what you want. Here is the schematic and a picture of the ones I built and have been using. In your use case you could omit U2 and the leds and use trim pots (to set once to fit your needs) in stead of regular potentiometers.


Cold solder joint on the 100k, r9 on mine. All fixed.

Now just need to work out why the FM LFO isn’t having an effect…


These schematics are a bit cumbersome to read since their resolution is so low. Any chance of uploading a few high(er) res ones?

Hey, I’m away at the minute so I can’t access the original file… and discourse won’t let me upload the PDF.

Here’s a screen shot of the PDF, hopefully it comes through better quality.

I’ll upload all the files when I’m back and link here.

This is verified as working, BTW. Get standard LFO for the filter, 0-10v centred on 5v (5v out when amplitude is lowest) for the PWM and 0-3.3v centred on 1.65v (1.65v output when amplitude on 0, use trim to adjust) for the FM. Got it installed in my Polykit 6 build and works perfectly.


1 Like