Projects in music, video, art, technology and learning
RSS icon Home icon
  • Building a LushOne system

    Posted on September 17th, 2013 Iain No comments

    LushOne system

    It has always been my intention that it should be possible to use the LushOne to build big systems. Now we’ve got three modules designed we’ve got the basics of a capable modular synthesizer. The building blocks available in the three modules are functionally very similar to those found in classic systems like the mini Moog and MS20. Still, it’s natural to want more of everything and it is particularly helpful to have more oscillators and more mixers in any synthesizer. Over the last few months I’ve been working on my own LushOne system.

    The physical design is very simple. It’s just a piece of plywood with holes on a grid to mount LushOne boards on spacers. The layout is set up for a 3 x 3 grid of boards. I’ve designed a special board to hold the RECOM DC to DC converter. Power is distributed by “chocolate block” terminal strips under the LushOne circuit boards. Currently there are two LushOne base modules, one LushOne Contour and two LushOne Inca modules.


    Power supply – hand made board

    The boards have been somewhat modified for my own requirements. The same MIDI input controls both LushOne Base modules. This allows four oscillators to be controlled from the keyboard. The LushOne Base modules are running the prototype version 2 software which provides additional wave shapes as well as the ability to run the OSC2 to an octave higher or lower than the main oscillator. One of the LushOne base modules has been modified so that the OSC2 output is at a signal level rather than at a control voltage level. This makes is really easy to have textured base notes with several harmonics.

    The LushOne Contour module is standard. But, one of the LushOne Inca modules has a potentiometer and photo cell fitted instead of the joystick as an alternative way to provide input.

    The additional flexibility of the system with so many oscillators and signal processors is great. When I get time I’ll write up in detail some of the modifications. At the moment I am playing with digital delays using the PT2399 chip and I really must build a second LushOne Contour to get a second ADSR.

    It may not be the prettiest synth in the world, but I think it looks cool and the bang-for-the-buck is hard to beat.

  • LushOne Base – What should we have in revision 2 firmware?

    Posted on August 11th, 2013 Iain No comments

    I’ve been prototyping some new firmware for the LushOne base revision 2. I am using my experience with the original to add features that make it easier to create an even bigger variety of sounds and to use the LushOne as a serious instrument. I also wanted to add features that would help with building the LushOne in to bigger systems.

    Here’s what I have added so far:

    • Settings memory so that selections are saved when the LushOne is powered off. LushOne will return to its previous state allowing you to pick-up from where you left off.
    • Three new waveforms for the oscillators. 30% and 15% duty-cycle square wave and combined saw/square (like the MiniMoog). New base sounds enhance the range of capabilities.
    • +/- One octave settings for OSC2 in OSC mode. Get really rich, deep tones when mixing with a LushOne Inca.
    • Selection of MIDI input channel for use in more complicated MIDI systems.
    • Ability to get MIDI velocity output as a control voltage (substitutes for the “log f” out). Allows for touch sensitivity.

    What features would you like?

  • LushOne Base – High pass filter mod

    Posted on June 20th, 2013 Iain No comments
    Changes to convert the LushOne Base filter from low-pass to high-pass

    Changes to convert the LushOne Base filter from low-pass to high-pass

    Once the LushOne had a fairly complete set of basic synthesizer functions available I always intended to built a powerful multi-oscillator and multi-filter system. You may laugh, but in the back of my mind I had the brief-case sized systems built on the boutique Mattson Mini Modular components.

    Once you start thinking about building a full system then you are going to want a high pass filter option to complement the low pass filter in the LushOne Base. Fortunately it is easy to modify the LushOne Base filter to be high pass instead of low pass. Here are the changes:

    • Omit R218 and C210 and instead link the two footprints with a wire as shown on the left.
    • Change the value of C208 to 2.2nF. This is the same value as C210 so you can do a substitution there. Obviously this capacitor is now non-polar so ignore the polarity markings on the PCB.
    • Change R221 to 4.7k
    • Change R220 to 47k

    That’s all there is to it! Sit back and enjoy some new sounds.

    Generally the low pass filter is more useful so if you only have one LushOne Base then I wouldn’t make this a permanent change. However if you want to build a system with more than one LushOne base, or if you want to take the LushOne Base schematic and build your own filter on vero-board then it’s well worth having a high pass option.

    If you are using both the filters I recommend putting the high pass first in the signal path and then the low pass. This will reduce the risk of any high-frequency noise getting though in to the output. This arrangement can produce quite natural sounding instruments from the LushOne oscillators.

    Remember that with both a high pass and a low pass filter it is rather easy to cut the signal off all together by having non-overlapping filter bands!

    Here’s a little multi-tracked sample from a dual-filter LushOne:

  • Equation for op-amp sum/difference amps

    Posted on June 2nd, 2013 Iain No comments

    Warning: this post contains maths

    I can never find on the web or in my text books the general equations for op-amps used as combined multi-input summing and difference amplifiers (ie they have several positive and negative inputs). It makes designing mixers for synthesizers annoyingly awkward as I have to rederive the equations each time. So, to save myself having to work everything out from scratch again, here are my derivations and notes on multi-input Op-Amp circuits. I will also take the opportunity to point out some interesting parts of the results.

    Main Results

    Op Amp Sum/Difference Amplifier

    So, here’s the setup:

    We have an op-amp circuit with “N” negative inputs and “M” positive inputs as shown above. All the positive and negative inputs are identical.

    For an ideal op-amp the output is:

    Or, in other words the negative gain is:

    The positive gain is:


    Positive and negative gain

    The negative gain is nice and easy and only depends on the input and feedback resistors and not on any other variables, like the number of inputs. Why is this? Well the inverting input of the op-amp is a virtual ground and the voltage isn’t changed by the negative inputs. Therefore the current through each negative input only depends on its input voltage. You can have as many or as few negative inputs as you like and it works the same.

    The positive inputs are not in this lucky position! Voltages at the positive inputs change the voltage at both the inverting and non-inverting inputs of the op-amp. The non-inverting input voltage changes because of the voltage drop over Rg. The inverting input voltage changes due to the feedback action of the op-amp keeping the input voltages ideally identical. This means that currents flowing through all the input branches depend on the positive input voltages and hence the complicated positive gain equation.


    Limits on positive gain values

    Once the negative gain is set, this configuration limits the range of values of the positive gain depending on the number of positive and negative inputs. One particular example:
    If the negative gain G- > 1 and number of negative inputs N < M, the number of positive inputs then G+ < G-.

    To derive this then consider that the maximum positive gain is when the input resistors R+ = 0 (obvious from the circuit and also by inspection of the equation).


    Special cases and derivation

    There are several interesting special cases from these equations (including the basic op-amp single input amplifiers) and the derivation is worth reading. So I don’t fill the blog with equations you can read it all in this pdf file.

  • Third LushOne module – development report

    Posted on May 16th, 2013 Iain No comments

    The last few weeks I’ve been busy working on the third module for the LushOne synth. This module is going to be all about signal processing and noise effects.

    This is what’s planned to go in:

    • Four channel mixer/signal processor – combine CVs or audio signals within the LushOne or change signal levels for compatibility with external equipment.
    • Noise source for percussive and random effects
    • Sample and hold function for interesting effects
    • Extra square wave LFO, primarily intended to drive the Sample and Hold
    • 3.5 mm jack breakout for easy interfacing to Eurorack modular synths
    • Joystick for dynamic control of two analog control voltages

    All this packed on to the same size board as the LushOne base and the LushOne Contour.

    All the circuits are prototyped on breadboard. Just finishing the first PCB layout over the next few days.

    Suggestions for a suitable name for this module are welcome.

  • 3D Case Printing for the LushOne

    Posted on April 15th, 2013 Iain No comments

    Another nice LushOne project – Simon Reimers in Germany made this rather elegant printed case for his LushOne and LushOne contour. He calls it the “MicroMoog”, but I am really not worthy of that accolade. I do like his comment of “tiny size and mighty sound” though.


    Simon Reimers’ LushOne with printed case

  • Casio PT-82 Mods (Part 1)

    Posted on January 6th, 2013 Iain No comments

    Started working on some mods for a Casio PT-82 from a local charity shop. First job was to strip it all down and wash all the plastics (horrible deposits left by small children all over it). That done I am now looking at the electronics. To do that I want to control the power and volume with the circuit board out of its case and without the slider controls in contact. This photo shows what I have learnt.


    Casio PT-82 power and volume controls

  • LushOne Contour is here!

    Posted on October 28th, 2012 Iain No comments

    After what seems like ages the second module for the LushOne synth is here. The LushOne contour has been in development for the last few months and was slightly delayed due to a few good ideas that arrived too late to be included in the first version of the PCB. Fortunately it was worth the wait, the production version adds a lot of cool effects to the base unit and just the two units together make a very flexible and useful synth. I can see I am going to spend the next few weeks playing with it to find the range of capabilities.

    Here is my version in a laser cut case. It’s a really nice thing and it feels great to have got it this far.

    LushOne Base and Contour patched

  • Latest LushOne Photos

    Posted on October 20th, 2012 Iain No comments

    A couple of new LushOne photos for fans.

    Firstly a nice modification by Felix Hüsken in Cologne who has modified his LushOne to provide 3.5mm connections so he can patch in to his MFB Nanozwerg. Lots of synth tech on his YouTube channel.

    I am still working away on the second module – the LushOne Contour. Below we’ve got two prototypes and a laser-cut double case that holds both the LushOne Base and the Contour. Second version of prototype PCBs for the Contour is in production.

  • LM13700 OTA – The missing forumla

    Posted on August 15th, 2012 Iain No comments

    If you do anything with analogue syths you quickly run in to the Operational Transconductance Amplifier (OTA) as a key component. These are amps whose current output depends on the voltage difference at the inputs and a control current that scales the gain. They are used for voltage controlled filters, voltage controlled amplifiers and oscillators. The subject of OTAs has a complicated and initially frightening set of assumptions, concepts and implicit ideas around it and getting a handle on the whole thing takes some effort. This blog post isn’t a general introduction to OTAs but it talks about how I solved a particular problem in my understanding and spotted a mistake in one of the common write-ups.

    Digital techniques are replacing a lot of OTA applications and OTA chips are being discontinued like there is no tomorrow. One that is still available (and I use in the LushOne) is the venerable LM13700. While designing a voltage controlled amplifier and ring-modulator for the LushOne I found I needed to get a deeper understanding of the LM13700 than I had had before and started to explore the behaviour of the chip in detail. In particular I wanted to be able to predict the gain when the linearization diodes are in use.

    The obvious place to turn is the LM13700 data sheet. This is kind-of famous because the designers tried to pack a lot of information and examples of their great new device in but the commercial pressures meant the datasheet needed to be kept short. It is therefore rather compactly written and understanding the example circuits is often an exercise for the reader. Initially though the case I was interested in seemed simple enough. The data sheet provides a nice equation with the glowing claim “no approximations have been made”.

    What do all the terms mean? IABC is the amp bias current (pin 1 or 16). ID  is the diode bias current (pin 2 or 15). What is IS though? Fortunately Figure 1 of the data sheet tries to tell you – IS is the current being injected in to one input of the amplifier while the other input is grounded. So it all looks nice and simple – except that on the bench the gain I got was about half what I would have expected from this forumulat. In other words the figure of 2 in the numerator seems wrong! Getting to the bottom of this involved a lot of head-scratching and measuring and simulation. Once there the answer is obvious, but at the time it was a big mystery.

    I should say at this point that the LM13700 datasheet is absolutely technically correct, but it is rather easy to misunderstand if you don’t apply your brain sufficiently. The problem lies in the interpretation of IS in a real configuration. Normal configuration (and I think any practical use of the LM13700) doesn’t use current sources to set IS and ID/2 at the input as shown above. You use resistors. This makes the real configuration look more like the figure below which is copied out of a couple of magazine articles by Ray Marston that crib heavily from the data sheet. Unfortunately though he has usefully shown the practical configuration the current flows shown are absolutely wrong for this set-up.


    The problem is translating the datasheet theoretical diagram in to the real implementation. An easy thing is to assume (as shown above) that IS is the current through R4 and the rest of the datasheet assumptions then apply leading to IOUT = 2 . IS . IABC / ID. What this overlooks is the role of the ID/2 current sink shown in the datasheet figure. In the data sheet the IS and ID/2 current sources/sinks together force the current in one leg to be ID/2 –  IS and this forces the other leg to be ID/2 + IS. When you use a resistor to ground instead of a current sink then the relationship between the current in the two legs changes and the system gain becomes different as well.

    Simulation and also careful consideration reveals then when you input a current in one leg in the practical system the effect is to increase the current flowing through both R1 and R2. Let’s try and do some analysis – I have used a new term IG for the input current to remove confusion with IS. I’ve also neglected any currents going in to the base of the transistors that form the differential amplifier. The voltages at the cathode (pointy end) of the two diodes (V1, V2) are approximately equal because a forward biased diode is a rough voltage reference – which means the currents IR1 and IR2 are also approximately equal.

    ID1 + ID2 = ID

    and ID2  =  IR2

    and ID1 + IG = IR1

    Therefore if IR1 ≈ IR2:

    ID2 ≈ ID1 + IG

    Or (ID2 – ID1) ≈ IG

    and ID1 ≈ ID/2 – IG/2

    and ID2 ≈ ID/2 + IG/2

    So compared to the Marston diagram the difference in the currents is half that predicted. Assuming the ratio ID1 to ID2 drives the output this makes the system gain:

    which fits with roughly the measured results.

    So, now do we have the missing equation for the LM13700 gain in its most common configuration? Well the answer is (very) “roughly”! If you are on the ball you will notice that if V1 really was the same as V2 then the differential amplifier would have no differential input and therefore zero output. It is precisely the difference in V1 and V2 that drives the output! Hence the assumption that V1≈ V2 the above derivation is dodgy. All I can say is that from experience and simulation it seems to be OK as long as IG <<  ID and R1 and R2 are reasonably large. With R1=R2=470 Ohms then the simulated gain is about 12% less than the above formula would suggest. For my applications I always have adjustments to allow the user to set the gain and therefore the above formula is good enough to set the component vaues to give the desired range of adjustment. I suspect if you wrote out the maths properly and did the function expansions you could justify the approximations better and understand exactly how factors like the value of R1 and R2 impact the gain.

    From deconstructing what went wrong and fixing my (and it seems others’) faulty assumptions I learnt an incredible amount about the LM13700 operation. What’s the moral here?

    1) If a data sheet is obviously written with precision then read it with precision.

    2) If there is an interpretation trap then you may not be the only person to fall in to it!


    Update (2017)

    You can now see the two circuits (datasheet version and “typical” configuration) simulated in the browser here: