Serial Control Voltage Interface

Published 2013-07-29

This device allows a computer to control an analog synthesizer. It generates control voltages from commands received over an RS-232 serial link (TTL level). I designed it to control my Korg Monoton, but it's also convenient for DIY synthesizer experiments.

Serial CV Interface - Monotron Pitch CV

When installed in a Monotron, the output is connected to the junction of R5 and the pitch ribbon, allowing it to override the ribbon. (When a note is not being played, the DAC is put into a high-impedance state, and the ribbon can be used normally.) Power is taken from an unpopulated decoupling capacitor in the center of the Monotron's PCB. A 3.5mm jack provides a connection to the outside.

Serial CV Interface - Breadboard

The device can also be used on a breadboard.

The heart of the device is a Microchip MCP4716 10-bit I2C DAC. It's controlled by an ATtiny25, which uses a crude software UART to receive the serial commands. Timing is controlled by the internal RC oscillator. Normally this wouldn't work, but the factory calibration of the oscillator is adequately accurate at room temperature. (Depending on the characteristics of your particular chip, you may need to adjust the timing constants in the firmware. The CLKOUT fuse bit is helpful for measuring the oscillator's frequency.)

The control software consists of a library and two programs. The library provides a simple interface to the device. The program setvoltage.c controls the device from the command line. Monotron.c controls the device with MIDI commands from the ALSA seq system.

A zip file with the board files and software is available here.