Man, I wish my Arduino could output 32V…

If you’ve somehow stumbled across my previous blog posts before this one, you may be familiar with my homemade modular synthesizer. After getting a PCB mill over the winter, I’ve been making tiny boards to be plugged into my synthesizer, with the first successful prototype being the voltage-controller oscillator.

This the schematic for the oscillator that I turned into a PCB. It works great, apart from the fact that the output frequency barely changes with the input signal level. This is because most voltage-controlled oscillator circuits use transistors in a more elegant manner to have the currents through the RC look more exponential, rather than linear to have a smaller input voltage create a larger frequency sweep. Instead of solving this issue on the oscillator, I decided to make another board to simply support a larger voltage range. In my testing, I can make the oscillator output frequencies that span the entire 88 key piano keyboard, if the input control is between 0 and 32 volts. How would I make an Arduino spit this signal level out though, if the pins can only output up to 3.3V?

Ah, the humble inverting BJT amplifier. Indeed, with tweaking resistor values just right, we can make a 0-3.3V voltage sweep map linearly to a 3.3V-30V signal, which will give our oscillator a huge frequency range.

Here is the completed circuit with a 9V battery for size reference. Now we simply test our output voltage for input voltages between 0-3.3V which is expected for an Arduino:

The output range isn’t perfect, but for my purposes, this works great!

Karl Kreuze

Electrical & Computer Engineering, 2026

28 February 2026

Previous
Previous

Yea We’re Making a Bomb

Next
Next

Pico workshop with Hack(Her) 413!