Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Project philosophy :

Arduino Due driven dual XR-2206 MIDI Analog Synthesizer Projected to use modular approach based on standard eurorack for housing instead of a monolythic PCB. All control done through Digital Potentiometers driving analog components, or DACs with a selection of wavetables or custom user loadable wavetables based on math functions. All control wrapped into standard MIDI CC control.

Project Manifest and current support :

Dual XR2206 VCO With 4 DAC acting as pitch/pwm LFOs (controlling the fine frequency of oscillation of the individual suboscillators in self-keying mode) Coarse frequency control is achieved thru 2 X9C104 (100K ohms digital potentiometers) by suboscillator and a 20k trim potentiometer for base (C3 Note frequency) Fine tuning precision is projected to be remain under 2 musical cents. Frequency Range is from C3 to C7 at least for both oscillators. Total fine tuning range is fixed at +/- 225 Hz around coarse note frequency.

Uses Arduino MIDI USB library. Uses MCP23017 GPIO expander. Uses AD333 and a 4 channel XOR gate for control signal routing (tri/saw or square output to the output stage) and hardsync. Uses an autotune helper and frequency counting based on PulseIn (to measure frequency and pulse width). 555 timer analog Attack/Decay enveloppe generator and OTA based VCA.

Projected support : Adding (short-term roadmap) FreeRTOS based task scheduling (rationale : for concurrent DAC updates to overcome potential DAC update delays causing LFO aliasing/lags artifacts and general real-time responsiveness). Additional 4 general purpose DAC based LFOs/ADSR Digital control 4pole LP,BP,HP filters (one per XR2206). Mixing stage of both oscillators post-filter. WaveShapping from sine to triangle based on vactrol control. (resistive opto-isolator) using XR-2206 waveshapping pins. THD/Symmetry control based on vactrol control. (using XR-2206 symmetry adjust pins) AM/vibrato/Gate control using XR2206 native AM pin Diode/transformer based RINGMOD.

Files :

src/synth1.cpp (Main Arduino firmware file) src/synth1-dds.cpp.bak (DAC DDS driven by secondary arduino) : DEPRECATED src/ (Python helper script for tuning performance measurement and individual notes WAV export) lib/* (Additional Arduino libraries) doc/ (In-depth electronic aspect of project R&D)

For the PCB board prototype advancement part of the project, please refer to :


Arduino Mega 2560 driven XR-2206 Analog Synthesizer







No releases published


No packages published