Dintree - Synth DIY

Here are some DIY synth projects, complete with schematics and code where applicable. All the projects here are for learning and hobby use and are strictly for education and NON-COMMERCIAL USE ONLY.

About Me / Dintree.com

My name is Andrew Kilpatrick and I'm more well-known for my full-scale synthesizers and sequencers sold under the Kilpatrick Audio brand. The ideas presented here are intended as a free resource to help those starting out. I definitely benefitted from a lot of resources while learning and feel now like it's my turn to pass it on my knowledge.

This site is my own responsitory of free info and this a completely sole venture that doesn't have anything to do with my commercial brand or products. Sadly there seem to be unscrupulous people out there who claim they have some affiliation with me and are selling direct copies of these projects under their own names. Please do not buy these products.

There are many hard-working synth designers out there like myself who put literally all our time and effort into making our ideas available for musicians around the world. If you want something pre-made, please buy one of our products! That's how we pay our bills and stay enthused about making cool stuff! If you want to do some of the work and save a few bucks, buy a kit. I don't offer kits but there are many very good kit makers out there... please support them. If you're more of a DIY person that wants to really get their hands dirty and learn the entire process, then that's what this site is for! Please go and hunt down the parts, learn to make boards, gather the parts and make something awesome. It will be one of the most rewarding experiences you have to make music with gear that you made yourself from scratch.

Need help?

I'm pretty busy but you can contact me at: dintree-mail@andrewkilpatrick.org. Keep in mind that this info is free and although I love to help teach people about electronics, I don't have time for every kind of request, including:

General Technical Tips

A few notes that apply to most modular synth circuits, which you will see throughout the projects below. These are good design practice for most circuits used in synths and other audio equipment:

Important Notes about Commercial Use

If you want to make your own project, that's cool. Even if you want to sell it. But please keep the following in mind:

DIY Synth Modules and Related

Other Music Projects


D100 Quad VCA

Quad Voltage Controlled Amplifier - 12HP Eurorack format

The D100 is a small quad VCA based around the SSM2164 VCA chip from Analog Devices. It's now obsolete but there are second-source versions and surplus stock available of this wonderful IC. The CV inputs operate from 0-5V to go from off to fully on. Both CV A and B inputs are mixed together. Each LEVEL pot is also mixed with the CV signal. This pot can adjust the range of the CV inputs by applying an offset either in the positive or negative direction. This is very useful for achieving the desired respose from envelope generators or other modulation sources. The pot can also simply be used to open and close the VCA manually which does not require a control signal to get some sound playing. The signal path is also completely DC coupled so it can be used for audio or control voltages, although the input control is logarithmic so it is less ideal for scaling control voltages.


Technical Notes


The D100 Quad VCA is a simple yet high-quality VCA with a logarithmic CV response. The entire module uses just one SSM2164 VCA chip. You can't get these very easily anymore as of 2011, but the V2164 is a perfect clone made by CoolAudio. You should be able to use it in place of the SSM2164 with no problems.

Two CV inputs are used to drive each VCA allowing for things like tremolo by acting as a free CV mixer. These CVs are also mixed with a pot which allows manual offset control of the VCA, as well as tuning the VCA response by shifting the range of external CV control up and down.

The CV inputs are buffered and inverted. Because the SSM2164 operates with 0V meaning unity gain, and more attenuation with rising input voltage on the CV pin, inverting the CVs makes it work correctly for synthesizer use. Note that the VCAs will produce gain with voltages less than 0V, but we use a schottky diode to limit how negative the input to the CV pin can go. Only a small amount of gain is possible which prevents the output from clipping with normal input signals.

The final set of op amps convert the current output from the VCAs back into voltages for the outputs. Make sure not to omit the resistor and capacitors at the audio input to each VCA channel. They are required for stability as recommended by the manufacturer. Not shown is an important addition, which is a schottky diode connected reverse biased between ground and the negative power supply. This helps prevent damage to the SSM2164 if the module is ever powered up with a missing negative supply. In this case if the V- of the SSM2164 is left floating the chip can be destroyed by excessive current flow through the V+ pin.

D101 Dual Envelope

Dual ADSR, AR and LFO Generator - 12HP Eurorack format

The D101 is a dual envelope generatore with some interesting features. It can act as a simple ADSR (attack, sustain, decay, release) in the normal way. It also has an AR (attack, release) mode which is useful for making percussive sounds. In this mode the attack and release phases run one after another regardless of the length of the input gate. The LFO mode works like AR mode except that it automatically retriggers. At the end of the release phase the attack phase is restarted automatically. Note that there is a slight error in the panel artwork which is corrected in subsequent versions.

The circuit outputs voltages from 0-5V. Gates more than about 1V are sensed as gate on. The circuit generates both envelope channels using a PIC16F690 microcontroller. The outputs are generated with an LTC2622 dual 12-bit DAC. The outputs of the DAC are buffered before being output and the envelope LEDs are driven directly from the output envelope signals. The microcontroller updates the DAC at about 1kHz and the signal is smoothed in the output buffer to remove any steps. Except for very fast settings a nearly perfect linear ramp is output. The pot scaling goes from 1ms to 10s and uses a lookup table to make the correct time scaling in each range of pot rotation.


Technical Notes


The D101 is a dual envelope generator / LFO. The actual behaviour is all digital with a single PIC16F690 microcontroller (worth less than $2) doing all the processing. It controls a dual 12-bit DAC that provides each output voltage, and an amplifier to smooth and scale the outputs, and drive some LEDs. There are two toggle switches, each for setting the mode of a channel, and eight pots which are used to set the attack, decay, sustain and release times for each channel. The gates are buffered by some transistors which detect the gate signal and protect the PIC from out of range voltages.

Power for the module is all +5V internally except for the opamp. This is generated with a low power (100mA) linear voltage regulator. Normally I avoid these for all but the lowest power applications. But in this case the total current draw for the microcontroller and DAC is very low. (around 10mA or so)

A gate input is fed into a transistor for each channel. A pair of resistors divide the input voltage in half so that just a bit more than 1V is enough to turn on the transistor. This is a great little circuit for setting a fairly repeatable input voltage for triggering, and also interfacing the output to any voltage you might want in the system. The maximum gate voltage doesn't really matter, and the minimum voltage to the transistor base is limited by a reverse biased diode at the transistor base. (the maximum reverse base voltage for a transistor like this is pretty low) A standard silicon diode would be okay here, but it looks like I used a schottky since I had them around. The output from the transistor is pulled up to +5V and fed into the micro.

The microcontroller reads the value of eight pots using its internal analog to digital converter. Two mode switches are sensed to be in one of three positions each. Many PIC pins hae internal pull-ups you can use to save external resistors as shown here on S2. Because the pins for S1 don't have pull-ups inside the PIC, external resistors are used. The PIC has an internal 8MHz clock which is used. It's precise enough for this type of application.

The outputs are analog and generated by the LTC2622 DAC from Linear. This is a very good 12-bit DAC, but you can use other cheaper ones like the MCP4822 with simple code changes. An SPI port on the PIC is used to control the DAC. The output of the DAC is 0-5V which is also what we want on the output. The output signal is buffered with a TL082 opamp which increases the output drive. The 4.7K resistor and 0.1uF capacitor on the input to each opamp channel form a low-pass filter which helps to smooth the sharp transitions since the sampling rate is only about 1kHz.

The code is fairly self-explanatory. You will need to use Sourceboost BoostC to compile it, or port it to your PIC16 compiler of choice. I highly recommend that you use MPLAB or MPLAB X with a Pickit3 programmer which is available from Microchip. The Pickit is a low-cost tool that makes it really easy to use these excellent microcontrollers. There are also various C compilers available for differing levels of free-ness that can be used for developing applications like these.

Note: The library uses the flash lib that is built into Boost C for reading time lookup table data. (included in time_map.h) Make sure to add: flash.pic16.lib to your build settings (Library Files) in MPLAB or the linker will fail.

D102 Output Mixer

Four Input Mixer with Pan Pots and Output Level Meter - 18HP Eurorack format

The D102 is a four input mixer designed to drive external audio equipment. Each input goes directly into a level control, is then buffered and fed to the pan pot, and then the pan pot signals are recovered and buffered before being sent to the final stereo summing amplifier. The level meters use active rectifiers and smoothing circuits to give a good and accurate response. The classic LM3915 is used for each channel to drive five LEDs per channel with 6dB intervals. The calibration of each level meter is set by a 25-turn trim pot on the meter driver board. By default I trim the levels so that 0dB on the meters equals 1Vrms on the outputs. This design uses the NE5532 op amp for excellent audio performance and low noise. The meter driver uses TL082 op amps and the LEDs are driven at low current to reduce overall power consumption, however the NE5532s draw quite a bit of current.


Technical Notes


The D102 Output Mixer is a very simple line mixer set up for synth level on the input (10V pk-pk) and line level on the output. (a volt or two) Each input feeds a 10K level pot through a coupling capacitor to strip off any DC offset. A linear pot is used, but the loading on it by way of the first opamp stage creates a non-linear taper which works well for volume control.

Each channel is then sent into a pan pot consisting of a linear dual-gang pot. This gives a 6dB dip in the centre position, which is a popular pan pot taper and simple to produce with a linear pot. Each pot output is buffered so as to not load it down and change the response. All the buffered outputs from both pan pot channels are then summed into the main left and right outputs amps via the stereo master volume control. The left and right signals are then sent to the main outputs and also to the meter circuits.

Two small LED level meters are included which is handy for checking the output levels. Each channel is rectified using an active absolute value circuit consisting of two opamp channels. The output is slowed down using a 0.1uF capacitor across the feedback path on the second opamp. The positive-going voltage is then passed through a multi-turn trim pot which is used to calibrate the meter to a known output level.

Finally the signal is fed into the famous LM3915 LED display driver. The LM3915 is run in bargraph mode to give a typical level meter appearance. Only 5 of the 10 outputs on the chip are used by skipping every other output line. Since the LM3915 has outputs spaced 3dB apart, the finished meter shows level increases of 6dB instead.

D103 Reverb / Delay

Stereo Reverb and Delay Digital Effects Processor - 8HP Eurorack format

The D103 is a stereo effects processor based around the Spin Semiconductors FV-1 digital effects processor IC. It runs custom programs and can produce both reverb and delay effects at the same time. The level is internal adjusted down and then up again so that large signals of more than 10Vpk-pk can be input without clipping. The output is filtered using an active low pass filter with gain. A clip LED shows when the internal DSP core is clipping. The controls allow the reverb mix, delay mix and delay time to be adjusted. Two different reverb algorithms and three different delay algorithms can be chosen and both reverb and delay can work simultaneously. There is no dry signal path so this unit is based used mixed in with a dry signal from the source.

Note: The hardware for this design is available, but you will have to create your own algorithms.


Technical Notes


The D103 Reverb / Delay module uses the flexible FV-1 audio DSP chip from Spin Semiconductor to create high quality reverb and delay effects. This circuit is very simple in that it doesn't have an analog dry path or wet/dry mix. After using the D103 together with the D102 it seems like modifying one or the other would be nice... either a dedicated effects loop on the D102 or a wet/dry control and proper analog bypass path on the D103 would make the setup work better.

The D103 loads DSP programs from a small serial EEPROM. Up to 8 programs can be recalled, and two switches are used to change between various combinations of reverbs and delays. The programs are arranged so that in any switch setting, a correct program is selected.

Input signal is attenuated with the input resistors and DC is blocked since the input signal can be a maximum of about 3.3V pk-pk with a 1.65V offset at the input to the FV-1. The FV-1 runs on a tiny 32768Hz watch crystal which is multiplied 1024 times with an internal PLL. Three pots and two switches set the program and parameters.

The outputs from the FV-1 feed into multi-feedback (MFB) filters/amplifiers which remove high frequency noise that is inherent in the DAC outputs from the FV-1 and also provide gain to bring the signal level back up to about 10V pk-pk. This makes the D103 useful to patch anywhere in the modular synth audio signal path.

Algorithms are not provided at this time, but there are many examples at the manufacturer's site, or circuit can be rearranged to use some internal demo programs instead. (see the FV-1 datasheet for help about this)

D104 Four Vs

Four Channel Voltage Source with Buffering - 8HP Eurorack format

The D104 is a very simple voltage source. Sometimes it's nice to have a CV available to control something manually. The D104 has four pots which can each dial in a voltage from 0-5V. Each channel is buffered internally and fed to an output jack.


Technical Notes


What could be simpler? Four buffered pots set to generate voltages from 0-5V to use for whatever you want. A low-power +5V regulator makes 5V, there are four pots which make 0-5V, and four opamp channels buffer these voltages. Simple, useful.

D105 Quad CV Proc

Quad Control Voltage Processor - 12HP Eurorack format

The D105 offers the ability to mix and scale control voltages (and audio signals) and provide both inverted and non-inverted outputs simultaneously. Each of four channels has an active input mixer with two inputs, a gain control that scale the voltages from 0-2x, and dual buffered outputs, one inverted and other non-inverted.


Technical Notes


A very useful module for mixing and scaling either CV or audio signals, the D105 Quad CV Proc has 4 sets of circuits for doing just that. Two inputs are actively summed with an opamp stage and then passed into a linear pot. The pot is designed to scale CVs linearly, but it can be used for audio too. We want a range of 0-2x (0-200%) on the pot, so at the mid-point we get 50% of the input signal since the first opamp stage has a gain of -1 for each input. (unity gain, but inverted output) The output from the pot is buffered with a gain of 2, so we are up to -100% now. This second stage output becomes the inverting output signal and feeds to the - output jack. Another inverting stage this time with a gain of -1 produces the + output which is now in phase with the input, and exactly opposite in phase to the - output.

D106 Step Sequencer

Four Stage Step Sequencer with Scrubbing and Multiple Outputs - 12HP Eurorack format

The D106 is a very simple step sequencer with four stages. The outputs are completely analog and can generate any voltages from 0-5V. There are four outputs which each output a voltage from one of the pots at a time. They rotate around as the sequencer advances steps meaning that you can create sequences that are offset by 1-3 steps from the actual step position. This is accomplished internally by 4x 4:1 analog multiplexers. Each output is buffered by an amplifier stage before being sent to the output jack.

To control the sequencer a clock can be input. It accepts pulses and triggers when the pulse rises above about 1V. The sequencer can be clocked up to about 500Hz and probably higher with some software changes. A reset input will hold the sequencer at step 1 when high. The direction input will make the sequencer count backwards when high. The scrub input is a special type of input which allows analog addressing of the stages. A voltage from 0-5V will select one of the four steps. Feed an LFO or envelope generator into the scrub input to create interesting sequences. The clock and scrub inputs can be used together but will interact in interesting ways.

Technical Notes


The D106 is an interesting combination of analog and digital electronics together. The step sequencer takes four voltages from pots and outputs them on four outputs labeled N, N+1, N+2 and N+3. Depending on the current step position, each pot signal is output on one of the four jacks. These outputs "rotate" around as the steps progress.

In this circuit a PIC16F690 microcontroller is used merely as a glorified counter. Inputs for clock, reset and direction are buffered using the same circuit seen on the D101 module for providing trigger inputs to the PIC. The scrub input is analog and allows the steps to be accessed by a CV instead of by a clock. As this voltage changes, a stage is addressed automatically. If the voltage is not changing (or disconnected, hence at 0V) the clock and reset inputs take priority.

The scrub input is buffered and protected from going out of range by two schottky diodes. In retrospect those diodes should be on the output of the opamp, since during turn-on the opamp might send out spikes that could be bad for the PIC. If they go on the opamp output make sure they are downstream of the 1K resistor so that the opamp has a current limit before hitting the diodes.

D107 Slew

Dual Slew Rate Limiter - 8HP Eurorack format

The D107 is a very simple dual slew rate limiter. It can be used for portamento effects or to smooth out a stepped voltage from a sequencer, or for general audio or CV smoothing. Each channel contains a buffer with 100K input impedance suitable for pitch CVs. The slew pot affects the charging of a large capacitor connected to a second amplifier. The second amp provides buffering for output to isolate the output jack from the actual slewing function.

Technical Notes


The idea behind the D107 is very simple, and probably many circuits like it exist. There are two identical chanels. The input signal is buffered so that the input signal driving impedance has no effect on the performance of the slew limiting part. A high value 250K linear pot controls the charging and discharging of a pair of 10uF capacitors joined back to back. (non-polarized combination with total value of around 5uF) The voltage on the capacitor is buffered with an opamp stage. Because the opamp is a JFET input type, it doesn't drain any appreciable charge off the capacitor. The second opamp stage drives the output.

D112 Power Supply

High-end Eurorack Power Supply

The D112 Power Supply is a high quality Eurorack power supply designed for a single row of modules. It can supply 625mA at +12V and 625mA at -12V using a DC-DC dual-output module. Additionally it provides +5V at 500mA using a DC-DC converter on the +5V line as well. A single +12V supply powers the unit.

Note: We do not have anymore PCBs available. Please don't ask for them as I don't have any plans of producing more.

Technical Notes


The D112 uses a high-efficiency DC-DC converter to supply +12V and -12V. A dual-output isolated unit is used to provide both outputs. (although not used for the isolation) Additionally a +5V output is provided via a small DC-DC converter module. This can be omitted or a linear type can be used for lower cost. The input has a DC power connector and a switch. A reverse-polarity protection diode is included in the input. An optional chassis bonding jumper allows the board to be grounded to the chassis by way of one of the mounting screws if desired.

DC-DC modules come and go, and of this writing the one specified in the parts list appears to be discontinued. The package outline is a common style and there are many models to choose from. Make sure to use a dual-output 12V type. The remote pin is not supported and you should probably choose one without a remote function to be sure it will work.

DSupply Power Supply

Mini Low-cost Eurorack Power Supply

The DSupply is my third attempt at a Eurorack power supply and was designed to be small and inexpensive. It uses all off-the-shelf parts and can be mounted in a case or in a module faceplace. The input power jack, switch and LEDs can be mounted on either side of the PCB.

There is no +5V supply since this is not used by most modern modules and it's easy to adapt if needed with a plug-in unit. The input to the board is +15V and reasonable efficiency is obtained on the +12 and -12V outputs. This is suitable for powering 1-2 rows of average-sized modules. A separate power bus board or flying bus cable is used. These can be easily built from parts that you can get from a supplier like Digikey or Mouser.

The video above should explain the rest. For reasons I don't provide the PCB layout, since it's a project I might still build and sell later. But the schematic is free to use for non-commercial designs or for learning. This circuit will likely not work on a prototyping board, so lay out a 2-layer PCB with lots of ground plane and a similar tight arrangement of parts as you see in the video. I was able to use mostly through-hole parts except for the MOSFETs and actual DC-DC controller ICs. These are easy to hand-solder so don't be afraid!

Note: We do not have any PCBs available and I don't expect to be making any. If you want to build one there are lots of low-cost places to get your own PCBs made.

Technical Notes


Other Music Projects

D41 Violin Pre

Simple Preamp for Piezo Pickups

The D41 Violin Pre is a simple project I designed and built in a few hours to solve a problem interfacing my NS Design NXT electric violin with other gear. It needs a high impedance input, but generates a lot of voltage which overloads most guitar pedals.

The D41 acts as a high impedance buffer, followed by a passive attenuator to make a strong line-level signal suitable for use with pedals or directly plugged into a mixer or other gear without a DI. The power consumption is very low. It runs on two 9V batteries which makes it a true split-rail design with more headroom than a standard single-supply 9V pedal. Putting the attenuator after the amplifier makes the noise level lower and lets you have more control over the tone by changing input part values.

Some changes you could try would be adjusting the value of C1 and R2,3. This will change the load on the pickup which will have an effect on the tone. Raising the value of C1 will block more bass. Lowering the value of R2,3 will adjust the overall loading. I started with 3M but found it sounded too bassy. Using 1.5M sounded right. Once you have a fairly flat signal you can easily add EQ after and there should be lots of signal to work with.

Technical Notes