This is essentially a version of my Korg Volca Modular MIDI to CV PCB Design merged with my Arduino Pro Mini MIDI USB HOST PCB Design to give me USB MIDI to serial MIDI and CV.

Warning! I strongly recommend using old or second hand equipment for your experiments. I am not responsible for any damage to expensive instruments!
If you are new to electronics and microcontrollers, see the Getting Started pages.
The Circuit

As previously mentioned this is largely a merging of two existing designs. The main elements are:
- Arduino Pro Mini (3V3/8MHz) with optional USB Host Shield already attached.
- 3V3 compatible Serial MIDI IN/OUT circuit.
- 5V power circuit via a 7805 regulator feeding the VIN of the Pro Mini.
- PWM output filter.
- 3V3 to 5V opamp amplifier stage (largely based on HAGIWO’s designs).
- Korg Volca compatible Gate/CV out via a TRS socket.
I’m using a MCP6232 rail-to-rail dual OpAmp, but I’m only using one of them, so apparently good practice dictates normalising the input of the unused OpAmp to ideally the mid-voltage of the power rails, which I’ve done using two resistors as a potential divider.
The OpAmp is set up for a noninverting amplifier aiming for, as I understand things, a gain of 5/3.3 or ~1.51 as follows:
- Non-Inv Gain = 1 + R(feedback) / R(toground) = 1 + 2K9 / 5K6 = 1.51
Note: the capacitor in the PWM output circuit is actually an error. It isn’t required for a CV output.
Also, the CV output is amplified to make it a 0-5V signal, but the GATE output remains a 0-3.3V signal.
A note on the PWM Filter.
The circuit was originally pasted on from somewhere else and I have to confess I didn’t think about the differing nature of a PWM circuit for a control voltage compared to audio.
As such, the stated component values of 220Ω and 10nF, with a cut-off frequency of upwards of 70kHz whilst useful for audio, are pretty useless for a CV. In the actual build, I’ve used values of 1K and 100nF which gives a cutoff frequency of around 1.5kHz.
That will teach me to properly think about my requirement before cutting and pasting in one of my previous circuits 🙂
PCB Design

Unlike my last design this one assumes the USB host shield will be fixed to the Pro Mini, keeping the footprint as small as possible.
I’ve allowed for both MIDI DIN and TRS sockets. There is also an option for individual GATE and CV out via jumper headers in addition to the Korg Volca compatible TRS.
I’ve included a MIDI switch with the footprint of a 2×3 set of 2.54mm headers so that could be jumpers or a switch as required. If the Pro Mini is socketed (which isn’t so easy if a USB Host shield is attached, but would be possible with longer pin headers), then the MIDI switch could be omitted. It is only there to disconnect MIDI from the Pro Mini UART when uploading sketches.
There is a bit of space around the 7805 in case a small heatsink is required. There is also the option to power the board directly from a 5V supply via a two-pin jumper header.
The Pro Mini footprint includes the programing header, but this isn’t used on the board and should probably be ignored.

Closing Thoughts
My previous MIDI to CV was code for an ATtiny85, so I’ll need to rewrite the code for the ATMega328 on the Pro Mini to support the USB to Serial MIDI routing in addition to CV and GATE.
Kevin