Building the Electric druid voltage controlled envelope generator


When it came to building an envelope generator my initial thoughts were to use a 555 timer, there are quite a few circuits around using these and there aren’t a lot of other components needed. After spending a while looking around for a design that met my needs I discovered the electric druid website. If you’re not familiar with this site there are various interesting looking modular synthesiser designs. Quite a few of them use PIC’s, this is something that would of previously put me off but with my new found confidence of using and programming them off of a successful project I decided to give one of them a closer look.

The obvious two that sprang out to me were the two envelope generators, both quite similar but one with looping capabilities. What I liked immediately was the simple circuit design. It seemed to be well within my capabilities and I understood how it worked, the hardware side anyway. Certainly not the software!

Other things I liked were that it only used a small pretty inexpensive 14 pin DIL PIC the 16F684 and it had voltage controlled inputs. The documents on the Electric druid website explained that the CEM3312 was one of the integrated circuits that had inspired the project and I had previously encountered the CEM3310 in the “Sequential Circuits Pro One” and also the “Electronics and Music Maker Spectrum Synth”. Although neither of them really make use of the voltage controlled modulation inputs. Having recently been playing with the Quasimidi polymorph and listening to some pre-sets where the attack time was being modulated by a sequencer made my mind up that this was something I wanted on an envelope generator.

electric duid vc envelope generator with voltage controlled inputs

Two boards mounted on a panel by using PCB mounted potenetiometers.

You can pretty much program up a 16F684 and connect up a crystal and capacitors on a breadboard and play around with the circuit, there’s a filter on the output. A 1 kHz Bessel filter, there are a couple of different variations of it with different component values. I tried both variations and didn’t find any difference in the outputs. I think the looping envelope generator uses a later variation and it also uses a few less components and three of the capacitors are 10nF so more common values that I have laying around so that’s the version I decided to use as I was going to eventually build ten of them.

Once bread boarded up and with a programmed PIC it’s just a question of playing around with the voltage inputs. I like to be able to produce a really fast attack and according to the documentation this one can produce an attack time as fast as 1 millisecond which puts it up with the quickest analogue envelope generators.

There is also quite a bit you can play around with, exponential and linear envelopes can be produced by making an input high or low so you can chose either or simply hardwire it or make it switchable.

A closer view of the PCB and old recycled variable resistors.

Apart from voltage control of the attack, decay, sustain and release, you also can use a control voltage to control the overall time of the envelops and the depth. At the end of the day you can also end up with too many controls, I decided just to hardwire these options for the sake of simplicity.

There are also separate wirings for gate and trigger inputs but I decided to just go with a simple gate input.

my circuit for with voltage controlled eg with additional transistors

The complete circuit with my additions. You can download this by right clicking "save as", it will give you a much clearer image to enlarge.

As I was going to use these envelope generators in a modular system without a predictable gate input I thought it a good idea to add some sort of over voltage protection so I just used a simple diode and transistor for cheapness and simplicity. Same for the voltage controlled inputs. I used the circuit on the data sheet but also the same transistor and diode arrange for protection of the inputs and also to allow a mixing of the control voltages and the voltage from the potentiometers. As you can see from the circuit diagram. As I mentioned before, I intend to build ten of these so I decided the best way was to have two of them on a single 8U front panel. I could then put voltage control inputs for one of the two envelope generators and save four sockets in the design. I would still have five voltage controlled envelope generators and five ordinary ones as the front panels were getting crowded and the cost, because of the number of sockets was creeping up. I decided this would be a fair compromise in terms of cost, complexity and panel size.

In the circuit layout I decided to use PCB mounting variable resistors for two reasons. One was to save having to mount the circuit board and the second was to make construction simple by not having to wire them all up! It also meant that I had to be very careful with the layout to make sure they weren’t all working backwards! I also put the gate led on the board to make the wiring as simple as I could and used a ten pin IDC socket for the power. I then only had to worry about wiring the sockets up.

Construction was fairly simple using the smallest components first method unfortunately when I bought the parts I found the PICS available for a really cheap price but what I didn’t double check was the fact that I had bought SMD devices. It was a case of using them and soldering them to adapter boards to program and use in the circuits as the PCB’s were already produced.

The complete project ready to fit in my eurorack box.

The only problem I came across in testing was that some of the controls didn’t work. Five of the ten boards worked perfectly but on the other five there were problems, all were tracked down to faulty potentiometers, I guess that’s what you get for reusing old ones but when you need forty of them need must! I initially used all the 10k linear ones that I had but because they are just wired across zero and five volts the 1 Meg linear ones I replaced them with worked exactly the same.