Moritz Klein VCO module build

Building a 4 hp square/saw VCO from scratch.

Moritz Klein VCO module build
METAL WAVES!

I've been focusing mainly on building modules that extend the functionality of my semimodulars, which are currently in taking up most of the HP in a RackBrute 6U. The LFO and attenuverter modules that I built have been great additions to the system, and I used them both in one of my Jamuary songs.

I don't really stick to one genre when composing and producing. Lately, I've become more interested in ambient, generative, and arhythmic music, which incidentally can be a natural fit for modular systems. Both the Subharmonicon and DFAM are essentially rhythmic in nature: the DFAM as a drum/bass synth is obviously producing rhythms, and the Subharmonicon's sequencer is built around subdividing pulse. I've been thinking about what types of modules I could add to the rack to break up or extend rhythms. My first thought was a clock divider, and I've actually made some progress on designing and building that module. Lately, though, I've been thinking that a drone synth would complement the Moogs nicely and would bring a nice depth and texture to the music I'm making these days. Plus, I have a 3U RackBrute just sitting empty right now. Yeah, a drone skiff...

I started by building a dual square wave oscillator with sync based on Benjie Jiao's design. Here's a demo of the prototype:

square wave blipping and beeping

This oscillator can produce some really interesting sounds and rhythms, especially when you start syncing one square wave to another. I just didn't feel musical, though. I shared this video with Eric, my music instructor, and it prompted a long discussion on subtractive synthesis and the frequency content of different waveforms. I felt like the oscillator on my drone synth should produce as many harmonics as possible, which I could then shape using filters. Square waves like the ones produced by the 40106 oscillator contain only odd harmonics. Sawtooth waves, on the other hand, contain all harmonics, and seemed like a better choice as a sound source.

Enter the Moritz Klein VCO. If you aren't following Moritz on YouTube, start now. He has created dozens of videos explaining audio electronics in a very approachable way. All of his module designs are open, and he has partnered with Erikasynths to provide high quality, well-documented DIY kits like the DIY mki x es VCO. Moritz's video series on VCOs shows how to build a dual square + sawtooth VCO with CV input, coarse and fine tuning, pulse width control for the square wave, and volt/octave tracking with temperature compensation. I liked this design better than the 40106 drone because it outputs both of the waveforms I'm interested in and it's playable via CV. I made a few minor alterations to the schematics and ended up with this design:

I assembled a prototype of the VCO on my Labor, an audio circuit breadboarding system that was also designed by Moritz Klein and Dr. Shalom D. Ruben. Labor has everything you need to prototype Eurorack modules: +/-12V and +5V power, a pluggable grid for pots, switches, and jacks, buffered audio out, CV generation, a gate, and an LFO. Here's what the VCO circuit looked like on the breadboard:

VCO prototype

To test the CV tracking, I connected a Keystep controller to the CV input and adjusted the blue trim pot as I played octaves. Once the intonation sounded about right, I fine-tuned the tracking by measuring the frequency when I hit C5 on the keyboard using my oscilloscope. I then hit C6 and adjusted until the higher octave was exactly double the frequency of the lower octave. The circuit tracks pretty well across the four octaves, though it does get a little flat in the higher register.

Happy with the design, I then used the online module designer from N8 Synths to lay out the circuit on their Eurorack prototype board form factor. I've already sung the praises of N8 boards in my attenuverter build post, and once again, moving from Labor to N8 was dead simple. Most of the breadboard layout was a direct copy to the PCB.

N8 Module Designer layout for the VCO module

Here's the design file if you want to edit or experiment in the Module Designer:

One thing that bothered me was that I was only using one of the six Schmitt triggers on the 40106. If I could figure out how to fit a second opamp chip and a handful of resistors onto the board, I could have a dual VCO. I did spend a little time trying to make it work, but the connections quickly became messy so I let it go.

It took me about four hours to assemble the two boards and headers. I delaminated two of the power pads along the way, which broke the -12V and GND distribution on the board. Those mistakes were relatively easy to fix by adding a couple of jumpers. It was a good reminder to be more careful in my soldering and not overheat the pads.

Want to see it in action?

0:00
/1:24

I finished off the project by milling a faceplate from 2 mm aluminum. Once the module was done, I unboxed my neglected 3U case and slotted in the new module. It didn't fit. The back of the main board bumped up against the power PCB, and there was a gap of about 2 mm between the back of the faceplate and the rails. I looked up the specs on the RackBrute 3U and found that the max module depth is 55 mm. How big are the N8 boards?

Nice, but a bit too big.

Other than the depth, everything else is fitting and aligned. I ended up racking the module in the bottom of my 6U case, which doesn't have a power board. One option to make it fit into the skiff might be to trim back the (mostly) unused double pads on the back of the board. That should provide enough space for the module to fit across the rack's power PCB, at least where there aren't any sockets.

Next step towards lovely drones is to move the VCO circuit off of the Labor and onto an N8-based board. For this version of the module, I'm going to replace the square-to-sawtooth mixer pot with individual square and saw jacks so it can output both waveforms simultaneously. I'm doing this to take advantage of an interesting property of mixing square and sawtooth waves that Eric shared with me: at a certain point when blending these two waveforms, the fundamental frequency is cancelled out and you only get overtones. Moving around that blending point gives awesome weird audio, and we thought it would be cool to be able to control the amount of mixing with a CV velocity signal or an LFO. I later realized that I could accomplish this by sending the "dry" saw and square into a dual VCA, sending the velocity into one VCA CV and the inverse of the velocity into the other, then combining the audio output.

Now all I need is a dual VCA...