
On this page I’m trying to collect all information about my programmable, analog, 8-voice polyphonic synthesizer. I started this project a long time ago, but it finally entered some stage where it is somewhat presentable. Everything you find here is publicly available. Schematics, PCB layouts, and source code are available on my GitHub. Do not expect a finished product in any form. The resources shown here are for enthusiasts who would like to build and program their own polyphonic synthesizer.
Overview#
- 8-voice analog polyphonic
- VCO/ADSR/VCA and multimode VCF per voice card
- schematics, PCB layouts, and software are open source
- controlled through microcontroller
- patches can be stored and recalled
- MIDI input and output
- programmable user interface
- freely assignable input section
Basic Concept#
Every voice in an analog, polyphonic synthesizer consists of a set of building blocks for a complete synthesizer. This is basically an oscillator, an envelope generator, a voltage controlled amplifier, and a filter. The idea is that multiple voices can be played at the same time, and chords or long release times are possible without interruption. Because of the great effort and cost to build this, the number of voices is usually limited. In this case, the synthesizer has eight independent voices. All the parameters to control the different building blocks are brought out and can be controlled by some voltage. The voice cards are addressed separately when a new note is played. In the end, all voices are summed up in a mixer at the output.

In the diagram, we see a microcontroller (MCU) which is controlling the voice cards through a digital-to-analog converter (DAC) and a gate signal to turn the voice on or off. The DAC allows setting of the individual control voltages of the parameters, e.g., the card’s pitch. Usually, DACs are expensive; that’s why I’m using demultiplexers with some additional hold circuitry for the voltages to have more channels available. Some of the parameters are the same for all the cards (like envelope or filter CV); some parameters are individual for every card (like pitch). It is cycled through the cards so multiple notes can be played at the same time. When all voices are playing and a new note is assigned, the voice that has been playing for the longest time is re-used. To change the different parameters of the voice cards, there is a MIDI input and a control board.
Voice Card#
The voice card holds all elements to a basic synthesizer voice. On every card there is a voltage controlled oscillator, an envelope generator, multiple VCAs and a voltage controlled pole mixing filter with eight different filter responses. There is additional logic to switch different parameters and filter responses, and it is also possible to modulate the filter with the ADSR. There is also a design for a semi-modular, monophonic synthesizer using the voice card.

Specs#
- single oscillator with saw, triangle, and pulse output
- multiple VCAs to blend between different input signals, a main VCA for the envelope and a panning VCA for stereo output
- an external input that can be mixed in, e.g. a noise signal
- one envelope generator for the VCA. It can modulate filter frequency and resonance, also with an inverted signal
- pole-mixing multimode filter with 8 filter responses
- there are multiple options two switch and blend between different signals and filter responses
- PWM, FM, and synchronization inputs
Multimode Filter#
The voice cards have a pole-mixing multimode filter. This is something you could find in vintage synthesizers like the Oberheim Matrix12. The eight different filter responses are achieved by tapping into the different filter stages, inverting them, and mixing them with the input signal. E.g., subtracting the low-pass response from the input signal gives you a high-pass filter. Different combinations allow all sorts of filter responses. The voice card supports the following filter modes:
- 4P LP
- 2P LP
- 4P HP
- 2P HP
- 4P BP
- 2P BP
- 3P AP + 1P LP
- 4P N
Main Board#
The main board holds eight of the voice cards. It has an additional power supply for -5V, which is also needed besides the standard Eurorack voltages. There is a precise 16-bit DAC with eight channels and additional demultiplexers with buffers and hold capacitors to address all the parameters of the voice cards. For the MCU I’m using an Atmel2560 which has plenty of I/O options, and it is part of the Arduino universe, which makes it approachable for a lot of people. There is MIDI input and output. Unused pins of the microcontroller are accessible through connectors, so it can be easily extended. There are connectors for the i2c and SPI bus, which I’m using for the control and input boards.

Control Board#
The control board consists of 16 rotary encoders, 6 momentary buttons, and a 16x2 display. The rotary encoders are connected to the main board with I/O expansions via an i2c serial bus. The buttons are using free digital pins on the microcontroller, and the display is also connected via i2c. This allows free assignment of the controls to the parameters or individual configuration of the synth.

Input Board#
The input board has an external input that can be mixed in, and there are four CV signals that are connected with an analog-to-digital converter (ADC) via i2c to the microcontroller. All the inputs have a pot to attenuate the signal.
This feature is not tested yet and there is no software support!

Software#
The microcontroller can be programmed using the Arduino IDE. All needed libraries are included in the GitHub repository. There is support of the DAC to update all parameters of the voice cards. There is currently support for:
- control the voice card’s parameters with the control board
- display support
- MIDI input, pitch, and mod wheel
- storing and recalling of the current patch to 10 different memory slots
- fine-tuning of the individual pitches
Power Supply#
The main board is using a standard 16-pin Eurorack power connector. The synth needs a lot of power! I’m using my power supply design with buck converters for +12V and +5V and a 12V 5A AC wall wart adapter. Using linear regulators should also work, but you need a fan for cooling. There is an additional linear voltage regulator on the main board for -5V, which is also needed for the voice cards.
Casing#
I made a case out of transparent acrylic parts and glued them together to expose the beautiful electronics. There are DXF files that I created in OpenSCAD to mill your own parts for the casing. There are some holes for the PCBs and threaded inlays for the top panels missing, and I added them later on manually. There are 3d printable files for the PCB spacers and knobs for the encoders and potentiometers.
Videos#
Resources#
https://github.com/polykit/polykit-x-voice-card
https://electricdruid.net/multimode-filters-part-1-reconfigurable-filters
https://github.com/polykit/polykit-x-mainboard
https://github.com/polykit/polykit-x-controlboard
https://github.com/polykit/polykit-x-inputboard
https://github.com/polykit/polykit-x-software













