Back to Analog

Enter Your Electronics & Design Project for a chance to win a $100 Shopping Cart!

Back to The Project14 homepage

Project14 Home
Monthly Themes
Monthly Theme Poll


CVBoard is a board designed to generate two Control Voltage (CV) signals using Arduino. This prototype is destinated to analog synths and EuroRack modules enthusiast.

CVBoard  has two jack outputs from which it is possible to take the CV signals, driven by Arduino’s digital ports that support Pulse Width Modulation (PWM), and connect it directly to analog synths and EuroRack modules.

By this way the board can be connected directly to a modular synth without going through other interfaces.


The idea to develop this board was born from the curiosity to experiment how to control with Arduino the oscillator of a Moogerfooger MF102 Ring Modulator pedal using Control Voltage. The board, in fact, it was designed to produce two 0-5V variable signals, as required by the Moog standard. To start we have carried out some test using the first prototype made by hand using a stripboard: we tried to control the  frequency of the carrier oscillator of our Moogerfooger.


In this video we present a first demonstration of its possible use.



CVBoard was born with the intention of controlling the Moog pedal, but, according to the technical specifications of the A-100 system of Doepfer, it is also compatible with the standard adopted by the EuroRack modular synthesizers. In fact, in the modular systems the Control Voltage Trigger, Gate and clock signals are all defined in the range 0 /+5V and, therefore, they are absolutely compatible with the signal produced by CVBoard. While the LFO signals are defined in the range -2.5V / 2.5V (5Vpp), so CVBoard still needs a small change (a capacitor and an extra switch should be enough) to generate LFO Control Voltage signals compatible with the standard used in the modules.


CVBoard can be used in different ways and all, yet, to be tested. The board can be used to drive hardware devices through a computer connected to Arduino. In this way, Arduino can become an interface that allows communication, through the Control Voltage, between the computer and the world of hardware tools capable of responding to this type of analog signal. It is, therefore, interesting to experiment a digital control approach of "analog" devices, as already widely experimented in the 60s and 70s in the early stages of computer music research. This video shows how to use a laptop and a smartphone to control the Moog pedal.


An other possibility is to program Arduino to execute algorithmic composition programs and therefore operate without a computer to create sequencers or control voltage generation tools made through precise compositional hypotheses. Finally, the possibility of experimenting with the use and integration of sensors and systems typical of Physical Computing in the field of modular synthesizers is also very fascinating.


This video show a first test we did to control a modular synth using an ultrasonic distance sensor attached to Arduino.

CVBoard and Arduino allows to transform the distance, misured by the sensor, into a signal capable of modifying the sound produced by the modular synth.




For this project we have chosen to use the integrated circuit TL084 which contains four operational amplifiers (op-amp). Two op-amps are used for each of the two Control Voltage channels. The four operational amplifiers are, therefore, used to make two fourth-order active filters specially designed to filter the PWM signal generated by Arduino. The image below shows the circuit diagram used for CVBoard.

CVBoard PWM active filter electric schematic

The four operational amplifiers provided by the TL084 allow to realize, for each channel, two second order filters placed in cascade. In this way it is possible to obtain, on each channel, a fourth order filter that provides a frequency response curve characterized by a slope of about 24dB per octave. The image below shows the design of the PCB board created for CVBoard.

CVBoard PWM active filter pcb project

The second order active filters are based on the use of the Sallen-Key configuration that uses the non-inverting terminal of the operational amplifier as input. The cutoff frequency of the filter has been set at about 160Hz. This frequency value has been chosen both considering the use of components with capacitance and resistance values easily available on the market and in consideration of the frequency used by Arduino to generate the PWM. In fact, this cutoff frequency value of the filter is about one third of the value of the carrier frequency (490 Hz) used to realize the PWM. This allows the filters to be able to sufficiently attenuate the amplitude of the noise introduced by the carrier frequency of the Pulse Width Modulation. To obtain a signal with an even smaller noise component it is possible to use some ports of the Arduino boards that realize the PWM with a double frequency (980Hz).


More details here: