Atmel XMEGA-based Polyphonic Synthesizer with Arduino API

This is the new Synthino XM polyphonic synthesizer from nootropic design. I used an ATxmega128a4u microcontroller. The first version was based on the ATmega328, but moving to an xmega gave me much more speed and memory to work with, as well as USB capabilities.

For your hacking pleasure, the Arduino API is preserved in the code, thanks to the xmegaduino project which had ported large portions of the Arduino API to the xmega platform.

For all the info, visit


  • 5-note polyphony for superb playability
  • 12 waveforms, 5 drum samples (kick, snare, hi-hat, tom, clap), and noise generator
  • 12-bit audio at 25KHz output rate
  • 4 MIDI channels, each with separate waveform and ADSR envelope settings
  • MIDI over 5-pin MIDI jack or USB (class-compliant USB MIDI device)
  • MIDI over USB works with DAW software on Mac, Windows, iOS, Android
  • low pass filter with cutoff frequency and resonance controls
  • 2 independent low frequency oscillators (LFOs): pitch and filter
  • selectable waveform for LFOs
  • 1V p-p audio output voltage with enough current to drive headphones
  • arpeggiator mode, up to 16 notes
  • 4 arpeggiator patterns: up, down, up-down, random
  • 4 built-in arpeggiator chords or use MIDI to specify up to 16 notes
  • arpeggiator pitch transposition control
  • tempo control with MIDI clock input
  • 16-step live performance "groovebox" sequencer
  • save/load patches and sequences in EEPROM
  • pitch fine-tuning adjustment
  • programmable/upgradable over USB

owner, nootropic design, LLC