close-circle
Close
0%
0%

DIY Modular Synthesizer

A full-featured modular synthesizer • aka "The Alligator"

Similar projects worth following
close
My admittedly lofty goal was to build a modular synthesizer, from scratch, using basic components (no kits), with zero electronics experience. Turns out, it's possible!

It's constantly growing and changing. I use it in almost all the music I make, sometimes as a synth, sometimes as an audio effect, but mostly for amazing beeps, bloops, and weird sounds.

I write about my adventures on my blog: cb.hopto.org/cbfishes

ABOUT THE CIRCUITS
I know very little about how these circuits actually work– 99% of the circuits come from the internet, especially the following places:
electro-music.com DIY forum
electro-music.com Lunetta forum
– Nicholas Collins’ “Handmade Electronic Music” (2006)
– Fun with Seamoss website (no longer up)
Hackaday Logic Noise series
Ken Stone’s Modular Synth site
Yu Synth DIY

Thanks to all those folks for sharing their designs! Please don’t look at my circuits, go see the originals. Those folks know what they are doing. My circuits are only here for reference, just to show you can build a great-sounding synthesizer with extremely primitive circuits.

BUILDING THESE CIRCUITS
Don’t just build these circuits– breadboard them first! I made many small modifications that may not be reflected in the schematics; also, I barely understand anything about electricity so take everything with a grain of salt. If you know your way around electrical engineering you will probably see about a million things I’ve done incorrectly. That said, my synthesizer works and sounds awesome, and I haven’t blown anything up (except for a handful of ICs, resistors, LEDs, pots, transistors, and other components).

MY SYNTH “FORMAT” AND CONSTRUCTION
Originally I intended to follow the Eurorack format (which I think is ±12V with +5V for digital modules) but I’m not skilled enough (nor did I have the right wall warts) for that. Instead, my synth uses ±9V (from a +20V wall wart) and +5V (from a +6V wall wart). The size is mostly Eurorack (3U tall) and I’ve built my cases standard rack size widths (19″). My panels are constructed out of 1/8″ plywood, mostly oak, and decorated with sharpie markers. For connectors I use #6 nuts and bolts and connect them with alligator clip patch cables I make using clips and boat trailer wire I get at the grocery store (comes in cool colors). My general focus has been on building basic modules that can be patched to make cool sounds. I also use a lot of LEDs because blinkenlights are awesome.

I currently (Feb 2016) have about 45 modules that include around 15 oscillators (mostly square waves) and lots of ways to manipulate them (filters, logic modules, shift register, sequencer, comparator, dividers, envelopes, LFOs, amps, etc). I also have a sort of “skiff” that includes a very primitive keyboard and a breadboard mounted into a panel for easy circuit building. My synth is built into 4 19″ x 6U cases (24U of modules) constructed out of wood from reclaimed pallets.

In addition to the DIY modules, there is also a broken-down Korg Monotron Duo I use primarily for the excellent low pass filter and a Korg Volca Keys I separated from its case and shoved into my rack.

MORE INFO
Circuits, code, panel design, PureData patches, Arduino sketches, etc: https://github.com/chrisbeckstrom/diy_modular_synthesizer/
Hackaday IO project: https://hackaday.io/project/5826-diy-mostly-analog-modular-synthesizer

LIST OF MODULES

updated February 20, 2016

OSCILLATORS/GENERATORS

--- AUDIO RATE

VCO (saw, square, triangle, short pulse)

VCO (saw, pulse)

voltage controlled digital sound source (arduino) with MIDI input

-- LFOs

Dual LFO (square, triangle)

square LFO ("pulse")

LFO (not working)

LFO x3 (square, "triple clock")

LFO x5 (square LFOs)

-- OTHER

CMOS noise

White noise (HP, LP, regular)


MODULATION

--- VCAs

VCA (op amp + transistor, diode)

VCA (transistor)

low pass gate VCA/filter

dual VCA (vactrols)

VCA (vactrol)

--- SEQUENCING

10 step sequencer (CV and gate)

dual 4-stage shift register

--- ENVELOPES

envelope generator (A/D)

slope generator (rise/fall)

--- CONTROLLERS

shotgun shell photoresistor

expression pedal input

arbitrary voltage controller (keyboard-type thing with gate and CV outputs)

ribbon controller

--- OTHER

sample and hold

HARMONICS/WAVESHAPING

low pass resonant filter, voltage controlled

voltage controlled filters low pass + high pass (can combine for band pass)

twin T drum/filter (not working)

voltage controlled diode clipper (positive...

Read more »

  • Modular + Korg Gadget

    chrisbeckstrom02/26/2016 at 16:18 0 comments

    Lately I've been building a lot of new modules, the most recent one being an envelope follower. Basically it converts amplitude to voltage. One way to use it is to take external input (like a drum machine, the radio, etc) and use its amplitude envelope of to control something else. For instance, if you take the audio output of an iPad running Korg Gadget playing a drum groove and take the CV output of the envelope follower and plug it into the cutoff of a filter, the filter cutoff will modulate based on the loudness of the drums. In other words, you can extract the amplitude envelope of one thing and use it to control another thing. As I understand it, this is how auto-wah filters and some kinds of compressors work! A cool little circuit.

    Here's the envelope follower built and installed into the modular, using the radio as an envelope source, controlling all sorts of things:

    https://www.instagram.com/p/BCQR2pHpHfC/

    Here's a quick improvisation from last night when I had the envelope follower on the breadboard.

    Korg Gadget running on iPad goes into a preamp, then into the envelope follower, and also one input in a mixer.

    The output of the envelope follower controls the cutoff of a low pass filter, as well as the clock of a sequencer.

    The sequencer sends CV to a pair of saw wave oscillators, which then go through the low pass filter, then finally into the mixer with the drums.

    Check out the audio here:

    http://www.chrisbeckstrom.com/korg-gadget-dual-saw-vco/

  • Working on an Arduino-based digital oscillator (with MIDI!)

    chrisbeckstrom02/12/2016 at 15:19 0 comments

    Got a new Mouser shipment in with a key item: Panel mount 5 pin DIN jack for MIDI!

    Using the fantastic Mozzi Arduino library, I've managed to get MIDI input working! This is a huge step; now I can directly interface my modular with my various MIDI devices, especially my computer running Linux and its millions of modular MIDI generators.

    So far I have a sine and saw wave with individually-attenuatable levels (via knobs on the panel). I've got a lot to learn when it comes to coding for Arduino, but I'm making progress! Here's a very short clip of the new module:

    It's built and MIDI input works! Now it's time to program #synthdiy #arduino #modularsynth

    A video posted by Chris Beckstrom (@cbfishes) on Feb 11, 2016 at 12:30pm PST



  • New videos of my DIY modular

    chrisbeckstrom02/10/2016 at 14:19 4 comments

    I've been doing a lot of building, patching, and recording lately. Getting better at the whole "video and audio record patches" thing, using my GoPro and Kdenlive video editing software on Linux. Here are three recent patches- my synth is growing and I think it sounds pretty wild.

    Some beeps, bloops, and drones, experimenting with control voltage feedback:

    A random-ish sequence generated by various clocks to shift register to r/2r ladder to VCO:

    Qmidiarp MIDI sequencer running on Linux, sending MIDI to iOS which generates the sound, which is then manipulated via analog circuits and a digital reverb unit.Also, if you're following this project you might be interested to know I uploaded almost all the circuits to GitHub. They are mostly slight variations of circuits I found on the internet. Go look at the original circuits, not mine! Here's my repo:

    https://github.com/chrisbeckstrom/diy_modular_synthesizer/

  • New video: Shift register techno funk

    chrisbeckstrom09/11/2015 at 12:11 0 comments

    New video using my synth. Check it out!

    More details:

    For this track I recorded video while I recorded each part, then edited everything together in Ableton Live. It's certainly a lot of seeing my bearded face, but if you suspend your disbelief it's sort of like a band playing together in my basement.

    - Technical stuff -

    The track started with a patch on the modular. I clocked a 4-stage shift register with 16th notes from Ableton Live (clicks were generated in a Max for Live clock divider/multiplier I built, then sent to the modular through an audio cable), then sent a non-synced clock into the shift register, which created some cool variations. I took the 4 outputs of the shift register and ran them through an R/2R resistor ladder which then modulated the pitch of a VCO. I was trying to find a way to generate a funky 16th note sequence that didn't exactly repeat– and this does the trick! The only "regular" sequencer I have built so far is 10 steps, so it is limited in terms of loop length. At the beginning of the track only one of the shift register outputs is patched into the R/2R ladder. As I patch the other three, the sequence evolves and gets a bit more complicated.

    The lead sound that I play with a keyboard is originally generated in Ableton Live as a square wave. I sent that square wave (via audio) into a 4040 clock divider, which in turn spits out an analog square wave an octave lower. I mixed two octaves to get a more interesting sound. I then patched those squares into a vactrol-controlled resonant low pass filter. Someday I'll build a MIDI to CV module, but for now this is the easiest way to play the modular with a "real" keyboard.

    The "hihat" sound is a 40106 CMOS noise module (sort of like the Roland TR-808 cymbal circuit) going through a low pass gate which is modulated by my brand new slope generator (the pink panel module).

    The "cowbell" sound is just two square waves through a diode mixer (again, similar to the TR-808 cowbell) patched through the low pass gate, triggered by a manual button.

    There's some other stuff going on, but after I disassembled the patches I forgot how I made those sounds. That's what happens when you use a modular! I think one of the sounds was a square wave patched into the slope generator for wave shaping, then patched into a distortion module, then into the low pass filter and the cutoff was modulated by a 9 step sequence. Pretty sure I also modulated the pitch of the oscillator with another oscillator which created those weird sci-fi sounds. In mixing I panned that stuff all over the place which I think sounds pretty cool, maybe a little disconcerting if you're listening on headphones.

    There are some feedback-ish sounds that happen, and those are created by feeding the output of a Live plate-ish reverb back into itself.

    The drums were recorded with three mics; the bass drum goes into Ableton Live and then through an EQ and gate, which then heads into the modular via audio to trigger the twin-T drum module. Basically the "real" bass drum triggers the synth bass drum, which I think sounds pretty badass.

    The other stuff is pretty simple: bass through a tube preamp into Live, saxophone through a Røde NT1-A, the tube pre, then into Live.

    All audio went through my analog Mackie mixer on its way into the computer, which I think helps give everything a bit of an analog flavor.

    Musically, I'm interested in the intersection of old-school style Detroit techno and 70's-style funk. I happen to think modular synths can be amazingly funky, and I really like the combination of super tight synth lines with loosey goosey drum playing.

  • The Modular in Action: Live techno video

    chrisbeckstrom09/04/2015 at 20:22 4 comments

    I put down my soldering iron to attempt to make some music with my creation.

    My goodness do I love how it sounds. Sure it's imperfect– I'm positive I've done a million weird things in my circuits– but it makes a wonderful noise. Actually, many noises.

    And of course by playing this instrument, I can figure out what I need more of. Right now that is mixers, VCAs, and envelope generators.

  • Now on GitHub

    chrisbeckstrom08/31/2015 at 19:44 0 comments

    I've started to put documentation together about the synth. Everything is in a million different places (Google Docs, pen and paper, scraps of wood, etc); seems like it would be useful to put everything together.

    The synth is now on GitHub:

    https://github.com/chrisbeckstrom/diy_modular_synthesizer

    So far I've added some of my (super simple) panel designs, a TouchOSC template, and the PureData patch that is running on the Raspberry Pi. I'll be scanning or taking pictures of the actual circuits and putting them on GitHub as well. I'm not sure about the etiquette as far as that goes, however, because most of the circuits came from people on the internet. Of course I want to give credit where it's due; perhaps I'll just link to their original posts.

    Of course I'll also put other related documents like my 6U case "plan" (if you could even call it that) and any other helper software related to the synth.

    In the mean time, watch the GitHub repository for more details.

  • DIY Modular Update: Now with 24U, digital oscillators, and MIDI (sort of)!

    chrisbeckstrom08/30/2015 at 11:24 0 comments

    After a few months focused on other things (fishing, cooking, kayaking, etc) I'm back on the synthesizer building war path."In the past few weeks I filled my third 19" x 6U rack and built another. Some of the new modules:

    – Multiple clock module (40106)– I wanted more clocks; something went wrong in building the circuit so I only got 5 instead of the 6 on the chip. Oh well!

    – Dual 4-bit shift register (4015). This was completely inspired by Elliot Williams' post about shift registers in the Hackaday Logic Noise series (http://hackaday.com/2015/05/04/logic-noise-taming-the-wild-shift-register/). I love watching the blinking lights! I also discovered (stumbled upon) if I take the output of each step of the register and run it into a R/2R ladder, which then modulates the pitch of a VCO, I get a psuedo-random (but repeating) series of notes. It sounds great!

    – Spring Reverb – I have an old spring reverb I got on ebay, which I'd been using with tube preamps to boost the input and output. I wanted to integrate reverb into the synth itself, so I used a pair of op amps to build some preamps/amps for the reverb. In the process of doing that I discovered the idea of feedback on a modular synth; running the output of the reverb through a filter then back into the input, I'm able to get some absolutely gorgeous very warm-sounding distortion oscillations. Aside from that, a bit of spring reverb makes everything the synth does sound even more awesome.

    – Simple vactrol VCA (voltage controlled attenuator)– Still haven't figured out how to make a good active VCA, so I built another vactrol-controlled one. It's just an LED stuck to a LDR that controls volume. I'm not able to modulate the amplitude with audio-rate CV, but it works great for simple envelopes and on/off. The characteristics of the LED (I used a blue one) create a very nice quick decay when the VCA is pinged, creating excellent percussive sounds which I love.

    – Quad AND gate (4070) - just wired the pins to the panel. Works great with my new clock module– run a bunch of clocks into the AND gate and get a variety of sort-of-random-repeating clock outputs. When connected to my 10 step sequencer it makes cool stuttering sequences.

    – Active LP and HP filters (no resonance)– I didn't have any high pass filters so I created this module. I put a switch on the panel which, when flipped, sends the output of the low pass filter into the input of the high pass filter. My idea was to make it into a band pass filter. It doesn't work exactly as I expected, but that's part of the charm of this whole synthesizer. Somehow the high pass filter also amplifies the signal a lot (I think I used the wrong size resistor) which sounds really cool.

    – Super growly amplifier/distortion– I wanted to create another amplifier/preamp specifically for taking external sounds and bumping them up to my synth level (it's very hot!) but instead ended up creating an op amp distortion circuit. It easily turns sine waves into square waves. Love it! Great for growly sounds.

    – Headphone output– I've been running my synth through an old analog mixer which goes into Ableton Live running on my computer, but sometimes I want to keep the computer off and just plug in headphones. I didn't have any stereo 1/4" jacks so I soldered some wire onto a mono jack to make one. Added a simple attenuator and now I have a stereo (TRS) headphone output. Nifty!

    I've also been experimenting with other ways to control the synth, especially using piezo pickups as triggers:

    https://vine.co/v/eDbZddKYDDA

    After adding those modules I've mostly been working on ways to integrate a Raspberry Pi Model B+ into the synth. I've been doing a lot of programming in PureData running on the (headless) Pi– here's what happens:

    – MIDI comes into the Pi via a USB MIDI device

    – PureData takes the MIDI and uses it to generate gate on/off messages which are sent to the GPIO pins or the right channel of the audio output (timing is better this way), which can then be used in the rest...

    Read more »

View all 7 project logs

Enjoy this project?

Share

Discussions

Dr. Cockroach wrote 01/18/2017 at 12:52 point

Very sweat build. I would be tempted to try something like this but my current project says no :-)

  Are you sure? yes | no

Paul Kocyla wrote 02/26/2016 at 17:51 point

WOW, just fucking WOW What a great build! :-D

  Are you sure? yes | no

chrisbeckstrom wrote 05/15/2015 at 18:16 point

Thanks! I'll stick some more info on this page at some point. Until then, I have a lot more description (and demonstrations) of my synth on my blog. This one is a "tour" that describes each module: http://cb.hopto.org/cbfishes/2015/05/04/a-tour-and-performance-of-my-diy-modular-synthesizer

  Are you sure? yes | no

zakqwy wrote 05/15/2015 at 18:14 point

This is great. Can you post more details on the modules and so forth? I really like the physical layout/design!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates