Apr 28, 2018

Precision attenuverter / mixer

The word attenuverter, a combination of attenuator and inverter, has become pretty standard in the modular synth world.  The attenuverter does exactly what it's name suggests: it is a single control that can be used to attenuate and optionally invert a signal. Turn the control clockwise to get an attenuated version of the input signal, and counter-clockwise to get the inverted version. With the control at center position, the output is simply off.

Quad Attenuverter module, described in more detail at the end of this post

In it's basic form, the standard attenuverter circuit looks like this:

This is a clever little circuit. The opamp is configured with both inverting and non-inverting inputs, having the gain equation

Vout = 2a Vin - Vin,

where a is a number between 0 and 1 representing the potentiometer position. For a = 1 (fully CW), Vout = Vin and the circuit is just a voltage follower with some unused resitors (no current flows through either of the 100k resistors in this case). With a = 0 (fully CCW), the opamp's + input is grounded and we have a simple inverting amplifier with a gain of -1. With a = 0.5 (center position), the positive and negative gain cancel and Vout = 0.

Attenuverters are great for flexible modulation routing. However, it is this center position where they can be very annoying: it can be difficult to dial in a small amount of modulation. Turn it down too far, and you end up increasing it again on the inverting side.

The precision attenuverter is designed to help with this problem. By adding load resistors to the potentiometer, the response curve is made non-linear, increasing the sensitivity near the center. This idea is not new, but rather an extension of a common technique to create quasi-logarithmic behavior with linear potentiometers, and I wouldn't be surprised if others have also applied it to attenuverters.

The precision attenuverter circuit is as follows:

Note that the potentiometer itself still is a linear type. Depending on the choice of Rs, the response curve of the total circuit can be chosen more or less nonlinear, as shown in the graph below. I typicaly choose Rs = 47k, which gives about double the sensitivity in the center region compared to a linear attenuverter.

Quad precision attenuverter and mixer

I designed a PCB in Eurorack format with 4 of these precision attenuverters and an integrated unity gain mixer. The attenuverters have individual outputs, and the mixer takes its inputs from the attenuverter output jacks normal switches. Hence, by default the Sum output contains the sum of all attenuverter outputs. However, if a cable is plugged to an individual attenuverter output, that attenuverter is removed from the mix. Finally, there is a unity-gain Aux input to combine for example mutliple mixing modules together.

This PCB is my first endevour in surface mount technology, with 0805 passives and SOIC opamps. Soldering the SMD parts is quick and easy, faster than filling a through-hole board once you get used to it. I included space for trimmer potentiometers, which are useful only if you use potentiometers with center detent to set the gain to exactly zero on center, but I did not mount these in my own modules.

Update August 2019: PCB version 1.1 is now available. It now features a 5V reference voltage, which is normalled to the first input jack. Hence, the first knob can be used as an offset voltage if nothing is connected to it's input. If desired the other input jacks can be also be connected to the 5V reference with solder jumpers on the PCB. The front panel layout has not changed with this revision.

Build documentation

I offer the PCB for this module for sale. The build documentation below contains everything you need to know to complete a successful module. Please read it through carefully before starting, and especially check the notes in the Bill of Materials when ordering parts.


  1. Any plans on making more PCB's for this one, since they seem to not be available to order right now?

    1. Indeed they are now out of stock. I will make an updated version of this PCB available in the coming month or so!

  2. The revision 1.1 PCB is now available!

  3. Great product but soldering those small smd stuff is a no-go for me.

    1. Give it a try, it IS easy. No special tools need; some flux will help with the ICs. You'll be surprised how fast it is!

  4. This is the first of these modules I completed starting with a bare PCB. While it was a fair bit of effort to source all the components the money I saved and the fun of putting it together made it worthwhile.

    I was worried about the SMD, but I completed this module with just a conventional soldering iron and some care. The resistors and capacitors were easy and I followed Youtube videos on ideas for how to approach this, dabbing a tiny blob of solder onto one pad, moving the part into place with tweezers and finishing with a second blob on the other end. I used copper braid to remove excess solder.

    The three SOIC op amps were done nearly the same way, I tinned all the pads first and removed most of the solder with a copper braid, then I tacked the corner pins and applied heat to finish off. I then removed excess solder with the copper braid.

    One of the SOIC's was poorly position and did not look very professionally done, but after cleaning off the excess flux with a cotton swap and alchohol I had a fully working unit for about a quarter of the price of a purchased unit.

    I'm using this to mix from several modules but use a Dopefer 138b for the final output as this commercial module seems to filter out a ground hum that the other modules simply pass on. At first I though this unit was causing the hum, then realised its entering prior to the Eurorack case itself. The combination of the Doepfer and this unit for mixing is a low cost and fun way to mix and match bought and diy modules.

  5. if you normal the inputs to +12, you can use the attenuverters as offset generators, similar to maths

    1. This comment has been removed by the author.

  6. I'm drawing my own panels for some modules, but I noticed the panel drawing for this Attenuverter is missing the X axis dimensions. Can this be remedied?

  7. Is the resistor R30 to the regulator U4 calculated right? I've looked here: https://www.ti.com/lit/ds/symlink/lm4040-n.pdf at p.35. I calculated the current drawn by the circuit (5V going through R22+R23 || R 2 to ground = 0,1 mA), than I calculated (Vin-Vtarget / I load + I R) = (12V-5V / 0,1mA + 0,1mA) = 35 kOhm. (Okay, my circuit gave 4,95V; maybe there's nothing to worry about; i chose the 0,5%-Variant of the L4040 and my digital multimeter MS8233V may not be the most accurate device...)

    1. The current draw is a bit more depending on the potentiometer, and I took into account that you can connect all 4 channels to 5V with the solder jumpers. That’s why I use a lower resistor.

      The LM4040 is passing a bit over a mA, which should allow it to regulate well. I suspect you are indeed seeing partly the accuracy of the multimeter.

  8. Hi.
    If I understood build documentation correctly, it should be okay to switch potentiometers to b250ks and replace the R_s resistors to 120k?
    The current availability of b100k pots is quite bad.