From Forskningsavdelningen Wiki
Jump to: navigation, search
Birth of SyltJamSynth

Have anything to say?[edit]

Go to the article discussion page.


  • - Publisher
  • STG - Developer
  • BoomLinde - Keyboard Kruncher
  • Pakir - Tone Twister
  • Salkinitzor - Filter Fighter


For Malmö SyltJam 2011 I wanted to do a demo of how fast you can make a simple synth using an Arduino, a MIDI shield and some very simple external electronics.

But when buying components I found some interesting components and the project turned from a 20-minute demo to a 3-day project with short scattered sound demos instead.

First day - design, second day - electronics, third day - coding, fourth day - fun.

About me[edit]

I like building things and am good friends with electronics, programming and all things digital. I am however NOT a musician, I suck at most things analog and I haven't a clue as to how filters work or what is needed to produce a nice versatile sound, so...

...take this project for what it is - a cheap abomination by a musical illiterate :)


I started with an Arduino Uno and a MIDI Shield and strapped on a shift register to run a R-2R resistor ladder followed by a MAX261 - very simple, very quick and easy to reproduce.


The (possibly latest) Arduino sketch is available here:

github stg/SyltJamSynth2011


  • Up to 16 polyphonies (used as 4poly supersaw)
  • Super saw with variable spread
  • Dual 2nd order LB,BP,AP,HP,N programmable resonant filters with variable Q
  • Volume envelope shaping
  • Filter shaping and key tracking (soon, confirmed possible - not implemented)
  • Pitch bend
  • Poly-mode/mono-with-portamento-mode
  • All parameters programmable via MIDI

What does it sound like?[edit]

We did record some videos during early on, so check back for the later additions such as envelopes and shaping.

Schematic, theory of operation[edit]


  • Take one cup of Arduino Uno
  • Strap on one tablespoon of MIDI Shield
  • Mix all schematic ingredients
  • Connect with wires to MIDI Shield, pin numbers on schematic
  • Infuse with code
  • Enjoy

The 74HC595 is a shift register. It allows the Arduino to output 8-bits of data using only 3 pins.

These 8-bits of data are fed into a R-2R resistor ladder. I know, it looks weird. Reason: used what they had at Electrokit so it certainly can be built differently. See wikipedia on R-2R ladders

The ladder acts as a very lo-fi digital to analog converter (DAC) and provides the basic waveform that is fed into the filter.

The MAX261 is a filter. I know nothing about filters. Heck, I can't even understand much of the datasheet. Anyways, it has two filter stages. The output from each stage is selected by a mechanical 3-way rotary switch and the output of the first filter (after the switch) is fed into the second filter

The CLKA and CLKB inputs are fed a frequency from the Arduino using Timer0 and Timer2. The rest of the wires are used to write data to the internal memory of the filter. This allows the arduino to set 4 different operating modes for each of the two filters and also a Q-value (resonance?) and a frequency modifier (F0) register. This value in conjunction with the CLK frequency generates the center frequency. What this frequency is differs between modes.

Finally the output of the second filter is hooked up to a 3.5mm tele jack for audio out.

That's about it. The rest is up to software and the musician.

Other builds[edit]

Callum Moultons SyltJamSynth
Callum Moultons SyltJamSynth