MFOS VCO build diary

I’m building the MFOS VCO — well, breadboarding and going to build — and I thought I’d post some notes here in case they’re of interest to someone else.

I breadboarded the VCO core, as designed except:

  • I didn’t put CV1 through CV4 in, am just using coarse and fine tune to test CV
  • U1 is TL072; I do have an OP275 I intend to use in the build, and will probably stick into the breadboard soon, but haven’t done so yet.
  • U3 is SOIC SSM2212
  • Q1 is 2N5457 (see below)

It works. With no attempt made to calibrate: Frequency range with coarse tune (fine tune near center) is about 2 Hz to about 13 kHz. It’s roughly 1 V/oct. With coarse tune roughly centered frequency is somewhere in the vicinity of middle C. RAW amplitude is more like 2.1 V instead of 2.2 V but that might be my not quite 12 V bench power supply.

Sync works with a low frequency (~ 1 Hz) square wave. Sync frequency really should be comparable to VCO frequency but I don’t have an audio oscillator on my bench right now.

Lin FM works, though frequency change with ~4 V is small, might be some error somewhere but as long as the frequency changes at all I figure it’s “working” and won’t panic until I see how it does on the PCB.

I tried the following JFETs, no detailed study of performance but just checked if the oscillator worked over the full coarse tune range:

  • 2N5457
  • 2N5458
  • J111
  • J112
  • J113

They all worked.


dam I am really in awe . I built those VCO’s from the pcb’s basically paint by numbers and not all attempts worked , were you have built this on a bread board plus made changes .

Nothing much changed, just used Wilson-suggested alternatives for the first op amp, the matched transistors, and the JFET. And only the core so far (page 1 of the schematics). Still plenty of potential screwups to go!


ok still more than I can dream of , I read about two lines of his descriptions of what the components actually do and I am lost . thank you for helping us less inclined to take the time or having the time to learn this new language .


That was me a year or two ago.


yeah I started there [ MFOS vco’s ] after a failed attempt at the super simple vco strip board about a year ago so I guess I shouldn’t expect to be an ace engineer yet :laughing:

1 Like

Lollll me too man…I do love his descriptions even if it takes me ages to figure it out, he went out of his way to help people out. On the modular spectrum from artist to scientist he was on the far right. RIP Ray Wilson.

Looking forward to the build @analogoutput!


Now that I have a bench oscillator I’m able to do a better job looking at sync. Here in blue is the bench oscillator and in yellow is the MFOS. It syncs well with pulse or ramp waves. Not with sawtooth or triangle; it needs a falling edge.

A million years ago, and two or three circuit revisions back, there was a discussion about sync with the MFOS oscillator, and some were saying it worked better with a larger capacitor on the sync input. The sync in particular was changed significantly later on, so I figured that point might be irrelevant now, but that’s what breadboards are for; I upped the cap from 1 to 10 nF. I didn’t see any difference in the sync behavior.


Your work continues to amaze me.

I finished breadboarding the wave shaping sections. I took a quick rough pass at setting the trimmers for offsets, sine shaping, and so on. These could almost certainly be improved, the sine at the moment is only roughly sine-like, but good enough for now.



There’s a little glitch at the bottom, might go away with more careful trimming.



On one side the pulse width knob takes the width very narrow:

On the other side, though, the pulse output stops if you try to go below about 20% width. This is with 1M for R68 as mentioned in a note on the web page (vs. 10M in the schematic).

Triangle with sync (controlling oscillator in blue):

One thing it occurred to me to check was the effect of different JFETs on the falling edge of the core ramp. I zoomed in on it and there is some effect on the fall time. But also it affects the level the signal drops to. The two most different were the J113:

which dropped to around 20 mV in about 1.2 µs, versus the 2N5458:

which took about 3.2 µs to drop only to 230 mV! The J112 (which looks pretty much the same as the J113) and the 2N5457 (which is a little faster and drops a little more than the 2N5458) are mentioned by Wilson as alternatives to the specified PN4391 (which I don’t have). It seems a no brainer to me that the J112/J113 is decidedly better than the 2N5457/2N5458 at least in this regard. I don’t know that the fall time is very important, but only getting down to a quarter of a volt… well, I don’t know how important that is, either, but it doesn’t make me happy. So I’m thinking I’ll use the J112 or J113 unless there’s some other reason not to.


I tried putting in 10M and actually that seemed better. Then 3M and that was arguably best. Pulse width goes right down to near zero on both sides over the whole frequency range. I think I’ll go with 3M.

1 Like

Nice to see that Rigol getting some good use!


When your oscilloscope can take screenshots haha. Super rad

@analogoutput Which model do you have btw? I’m not quite as smart as you but looks super useful and a big step up from the cheapy DIY ones that I have. Just having two channels is really slick.

DS1054Z. Four channels, I have yet to use the third and fourth but there doesn’t seem to be a two channel equivalent — the DS1052E is apparently five years older, looks to be much more bare bones, and is only about $50 less.


Sweet thanks, think I’ll pick one up. I admire how you take the time to learn and understand everything, improvements to a circuit are a bonus too. Something I need to work on. :joy:

1 Like

yes thanks for posting your findings on the MFOS vco’s . I will make notes and when I get around to it make some changes possibly to my own .


I have the same one and it’s a really impressive scope. Just before I got mine they started unlocking all the features that used to be paid upgrades by default. It’s technically a 50hz scope but can easily be hacked 100hz…though I see some reports that they’re now unlocking 100hz from the factory.

@analogoutput have you checked the options on yours? I know mine came with everything unlocked but was still showing 50hz so I did the hack on it. But I see on EEVblog some people now reporting they’re coming as 100hz out of the box.

For the price it’s hard (impossible?) to beat. There were a few other scopes I considered but after a few weeks of research decided go with the Rigol and don’t regret it. There’s a similar priced Siglent that has slightly better specs and a more responsive UI…but IIRC it’s only 2 channel and I think didn’t have as many decoding options. I’ve found the I2C and serial decoding to be really helpful debugging a few projects.

Or so I thought yesterday! I looked at it today and it doesn’t get so narrow at one end. Best I can do is maybe 1% to 90%. Granted, Wilson only claims 5% or 10% to 90%, but I think that was with 1M for R68 and I got the impression it improved at both ends with 10M. And I thought that’s what I saw yesterday. But not today. I did switch off between 1M, 3M, and 10M and still liked 3M best. Anyway, maybe breadboard flakiness, maybe I just wasn’t seeing what I thought I was seeing yesterday.

I messed around a while, couldn’t improve it. I even broke out Rigol channel 3 to no avail. And I did try messing with the ramp and tri trimmers, with little effect.

1 Like

I’m pretty sure I have all the options unlocked, but I haven’t found any documentation for them and am not sure what they do or how to use them.

I haven’t bothered to hack or even check the bandwidth, I’m just doing audio and figure I hardly need better.


Reading deeper it sounds like the 100mhz option may not be unlocked by default…the guy who thought it was had just forgot that he unlocked it himself.

The extra options are nice. Mostly they’re additional triggers. But the decoders (RS232, i2c, spi) can be really helpful when debugging microcontrollers and attached sensors. There’s also increased memory depth for capturing waveforms.

Since you bought yours recently it’s pretty much a given that they’ll all be unlocked, I’d be shocked if they weren’t.

I do a good bit of RF and love playing with microcontrollers as well so the extra bandwidth is nice to have. Though there’s a good bit of disagreement about how realistic 100mhz is. But for what I do 50hz is generally fine but it’s nice to have a big of wiggle room sometimes.