This is a volt-per octave, dual waveform VCO, based on Moritz Klein’s Shapes VCO.

A fully assembled MiniOSC module

Tuning it is a bit tricky. I start by playing a major scale (regardless of key) and adjusting the scale pot by ear until it sounds like a major scale. I would then use a tuner to fine tune to the octaves.

Watch me build it on breadboard:

Live jam using an earlier perfboard prototype:

The final build on PCB:

Bill of materials

Here’s a list of what I used in this project. All resistors are 1/4W, electrolytics are 5mm diameter at most, box type caps are 5.00mm pitch.








Jacks and headers


Power connectors (Pick one)


Here’s a simplified diagram. KiCAD files included in the Github repo will be slightly different because I needed to split the circuit into two pcbs. Click on the image to zoom.

This project is also on Github


The PCBs for this build was my first project in collaboration with PCBWay who reached out to me and offered to sponsor the manufacturing of my boards. I showed some highlights of the assembly process in my Youtube video above.

The greber files for PCB printing can be found on my Github . The project is also on PCBWay’s shared projects site where you can have the boards printed directly from them.

The boards come in three snap-off parts. It was my first time using mousebites to connect boards in a single panel. The residual parts from the mousebites have to be sanded off using a file.

Learn more about mousebites in my recent Tech Tidbits post.

Connections between panels

The front panel and the control board are held together by the 3.5mm audio jacks.

The control board and the main board are coupled at two points: the 12mm M3 brass standoff and the 16-pin headers.

The pins also carry power and audio signals between the two boards.

Power options

I provided two possible options for powering these boards:

  1. The first one is a standard 2x8 IDC connector found in most Eurorack modules. This is the one I’d recommend if you already have a Eurorack system.
  2. The second one is a 6-pin JST header which I use for all my modules. I find the more compact and easier to buy where I’m from.

You’ll only have to pick one to use on your board.

Issue with 2mm mousebites

I was informed that JLCPCB sends warnings about printing mousebites that are less than 5mm.

I have been using 2mm mouse bites based on madworm’s Github repo. They also have 5mm alternatives, but I haven’t updated my designs yet. Feel free to update yours if needed.

Otherwise, I have been printing 2mm mouse bites on PCBWay with no issues.


1.2. UNVERIFIED. Split module into separate boards.

Make sure to download and print all three zip files:

1.1. Minor corrections

Download rev 1.1 here.

EDIT: @dawle on Github updated version v1.1 to increase spacing of the mousebites. Download his version here: (Still unverified).

1.0. Initial release.

Download rev 1.0 here

Where to get one

You can download the Gerber files from the links above or you can also order boards directly from PCBWay.


I still have more in store for this build. The tuning pots can be switched to multi-turn pots to improve tuneability and to avoid accidental detuning.

DM me on Instagram @benjiaomodular if you need help. Tag me if you’ve built it. Good luck!