null  null
Attenuator build and use guide
This document describes the audio attenuator design as of January 2008.
It is part of the design documentation on the website at:
Document version Febr. 28, 2008
This design is protected under copyright, 2008. It is freely available for DIY home/hobby use. It is not allowed to
use (parts of) the design for commercial use without explicit permission of the author.
The described attenuator provides infra-red remote control for audio volume and input
channel selection. Both volume and channel selection is performed through miniature relays.
Six tiny relays implement a stereo 64-step logarithmic attenuator. The combination of relays
with high-quality (small signal) contacts and prime quality resistors provides a top-class audio
volume control, audibly better then conventional potentiometers that employ a sliding contact
over a resistive layer. The chosen sealed relays will maintain their contact quality over an
extremely large time span. A standard setup employs a small front (control) PCB for IRreception with a visual (display) feedback and a switch for manual control, next to the main
relay PCB that performs the actual audio handling. This relay PCB provides relays for a 2channel (stereo) volume control and input channel selection. Multiple of these relay PCBs
can be tied to a single front control module: 2 prints can be used for balanced (symmetrical)
audio systems, 3 prints for 5.1 surround systems, or 4 prints for 7.1 systems. The front-PCB
and the relay-PCB have a three-wire connection for control, there is no audio passed over
this link. The PCBs have a gold finish on their soldering contacts. This gives a great look, but
also solders nicely, and some believe that it helps to improve sonic quality.
Traditional potentiometer usage provides a constant input resistance, and variable output
resistance. The switched-attenuator in this design in principle works the other way around: it
has variable input resistance and constant output resistance. You could use this attenuator
as a complete passive pre-amplifier. It depends upon your power amplifier whether the
relatively high output resistance is OK for your system. In general, tube amplifiers feature a
high input resistance, and might do fine. Also, integrating this passive attenuator into your
audio amplifier has worked out nice in many earlier projects. Otherwise, you can actively
buffer the output signal of the attenuator, In general, I would hesitate a little to drive interchassis audio cables from just this passive attenuator. On the positive side, the passive
nature of this attenator without any semiconductor in the signal path provides an extremely
clean and open sound, which is very hard to match by an active amplifier.
The device has volume levels from 00 up to and including 64. Volume levels 01 to 64 span a
dynamic range of 64dB with 63 steps of 1.0 dB. Volume level 00 really disables the input
signals giving zero output.
The default resistor set that I apply, is a series of 12 resistors per channel (R21-R32 and
R41-R52), with values of 10K, 82.5K, 2.32K, 43.2K, 5.23K, 24.3K, 13.3K, 14.7K, 47.5K,
10.5K, 348K, and 9.09K. The input resistance of the attenuator circuit depends upon the
relay setting (the volume), but will always be above 22Kohm. The attenuator output
impedance is a constant 8.9 Kohms. At some later time I will add here a table with alternative
resistor values should you want a lower or higher-resistance attenuator. In that case you
should find and order such resistors yourself, I do not intend to stock and offer different sets
as part of the kit.
The attenuator PCB provides 4 relays for the selection of 4 stereo input channels. If you
strongly desire more input channels, you can extend this to 5, 6, or 7. The microcontroller
firmware and display do have support for that. For such extension you would need to connect
up to three extra input channel relays outside the PCB. The relay-coil control wires are
provided through the JP4 connector, pins 1, 3 and 4. (Probably you would like to ask me for
the extra relays.) Clearly, if you just seek a volume control and don't want any channel
selection, you can of course omit the 4 input relays from the PCB.
With all my documentation on the website, other DIY audio hobbyists might feel inspired, and
are invited to design and build their own variation based on this example. However, I do not
intend to provide my firmware in source or binary form.
Building the attenuator
You will receive the front-PCB and the relay-PCB from me with their microcontrollers already
mounted and programmed with their firmware, as shown in this foto:
All required (PCB-mount) components are provided seperately, for your own
mounting&soldering. Choose a mounting sequence with the lowest profile components first.
That allows easy fixing of the components while PCB lies upside-down on your desk.
1. Resistor set
The resistors that I provide are 'RN60D' USA-milspec resistors manufactured by Dale,
which have a reputation for their excellent sonic quality. They indicate their value with
a 4-digit number and one character. The first 3 digits provide a base value, and the 4 th
digit provides a powers-of-ten multiplier. This 4th digit must be read as the number of
0's after the first three digits. For example, a code of '8252F' indicates a value of
'82500' ohms or 82.5 Kohms. The final 'F' indicates a 1% tolerance.You should mount
the Dale resistors with their value-identification facing upwards, allowing you to verify
their mount position. The picture below is an example of my own test version,
showing their readable values. It has been increasingly difficult for me to acquire
these Dale resistors at reasonable cost. Unfortunately this has resulted in a resistor
set where for many of you a single value (47.5K) is replaced by a highly similar
'RN60D' milspec resistor from a different brand, that has a black coating instead of
the typical brown.
2. Relays, displays, ...
Be VERY careful about mounting these components in the proper orientation!!!
The annotation on the PCB is probably clear by itself. Additionally (for all
components) their 'pin 1' is identified by a square soldering pad. With the throughmetalised holes as in this PCB, it is almost impossible to remove (unsolder) an
already mounted component.
The kit contains a pair of red 10mm 7-segment displays. Occasionally I get a request
for a blue display. Sometimes I can provide you with the pin-compatible blue 'FN10392B050JGW' made by Forge Europe. Normally I do not keep these in stock: in my
opinion they are too expensive (adding about E18,- to the kit), and the red seems for
my eyes easier to read from some distance.
3. AC Input power
AC power should be applied to the small 'JP3' 2-pin connector. The circuit will operate
from a 6.0 to 7.5 Vac transformer. A pair of a display and a relay PCB together take a
maximum current of 250mA. A relay PCB alone takes a maximum of 190mA. You can
check that the DC voltage on C1 is between 6.5Vdc and 10Vdc. Higher voltages
cause the LM2940 to get warm, requiring a small ('clip-on') heatsink. If you connect
the attenuator to a 6.3Vac of your tube amplifier transformer, you will like to avoid that
this rectifier back-fires dirty effects into your precious tube amplifier transformer.
Schottky-type diodes are applied in stead of basic rectifier diodes, since schottky
diodes do not generate ‘reverse-recovery’ spikes. To further eliminate such effects a
small 22nF decoupling capacitor was added to filter the AC voltage. The low-drop
schottky diodes and low-drop regulator together enable operation from the low 6Vac.
If you buy a separate transformer for the attenuator, a small 6V / 2.3VA type would be
sufficient. In power-down mode, the circuit remains to consume 25mA, corresponding
to about 0.2W.
4. Rotary switch
Connecting a rotary switch for manual volume control and channel selection is
optional, the circuit can be used fine from an IR-remote only. The applied type of
switch is a ‘rotary pulse generator’ which can be turned around and around without
mechanical blocking. It uses 3 connections: one common pin connected to ground,
and 2 signal pins, denoted ‘Vol a’ and ‘Vol b’ in the schematics. The microcontroller
has a weak pull-up on these two signals. The switch will -in steady state- leave either
both pins open (at 5V) or short both to GND (0V). When the switch is in transition,
one of the pins will precede the other in its transition. The rotation direction is derived
from this transition order. Next to that, this switch has a built-in push-button, activated
by pressing the shaft. This function is used to switch to the next input channel, or for
power-up and power-down. Several users of my earlier attenuator version chose to
NOT mount this switch on the PCB, but mount it elsewhere in their front panel, using
a set of 5 wires to connect the switch to the PCB. Be aware that once soldered-in, it
would be almost impossible to get it off the PCB again without damage.
5. Power relay output
The relays PCB allows to optionally connect a power-switch relay to switch on/off
other equipment from your IR remote. Obviously, this function only works if the AC
power of the attenuator itself remains on. Power-switching is triggered by a dedicated
button on your remote control, or by keeping the rotary switch pressed-down for
about 5 seconds. When switched to the ‘off’ state, pin 5 on the programming header
(‘PGC’) will be 5V, otherwise it will be +5V (active high). Note that you cannot directly
connect a heavy power-relay between this PGC pin and the digital ground (pin 3 on
this connector), due to the 5V and 25mA current limitation of the microcontroller. This
new version of the attenuator includes an extra buffer stage (R3, Q3, D5) to drive a
power relay. You can connect such relay to JP7. If your relay has a polarised coil,
connect its '+' to pin 2. To JP7 you can connect relays with 5Vdc coils, up to 100mA
coil current, corresponding to a coil resistance of at least 50 ohm. This a large choice,
such as the Omron G6K-1117P-US-5VDC and G2RL-1 5DC, or Multicomp HRM-S
6. Connecting the display PCB with the relay PCB(s)
The display PCB must be connected to the relay PCB. Each PCB has a 5-pin
connector location, and a connector set is provided. Connecting a pair of PCBs
through these 5 wires works fine. The 5-pin connection is also used (by me) to
download the firmware into the PIC microcontrollers. For normal operation however,
only the middle three pins are actually needed. For symmetric (balanced) audio or
multi-channel audio set-ups, see the description in the next section.
6. Grounding
The PCB (-duo) implements three electronic circuit sections that are electrically totally
isolated from each other: a) The digital control circuit with the microcontrollers, the
power supply, the display and the relay coils, b) left audio resistors and relay
contacts, c) right audio resistors and relay contacts.
Each of these three circuits has its own ground, respectively GND, LGND, RGND.
Because the PCB doesn't tie these together, you can still choose/apply your own
grounding policy as to whether and where to connect these grounds. However, a
totally unconnected digital ground seems to induce hum and interference in the audio
part of the attenuator. For typical usage, I would recommend to tie together all your
ground signals (power and signal) by soldering two small wires in the locations R1
and R2. Maybe there are a few special cases, such as with totally separated
monoblock amplifiers, where you might choose to keep LGND and RGND separated.
Some of you might also prefer not to use wire bridges but couple the grounds through
damping resistors, e.g. 47Ω.
After mounting all components, your PCBs are supposed to look as in the following foto:
Of course, remarks about basic soldering techniques are not needed, as you already have
good skills in soldering... A nice smooth and shiny soldering joint is made by having your
soldering wire close to the soldering pad, so that it melts on the pad. If you melt the solder on
the tip of your soldering-iron, and wait a few seconds before applying it to the
pad&component, it will not attach nicely. If you do a faster job, you get a better result, and
reduce the risc of overheating your components. Traditional solder wire has a tin-lead metal
mixture with about 40% lead. This the easiest type to work with. For environmental reasons,
lead is currently being avoided for soldering. A beautiful alternative is the tin-copper-silver
mixture. The (typically 3%) silver content is by some audio enthousiasts appraised for giving
better sounding results. As all lead-free types, this has a somewhat higher melting
temperature. Finally, thin soldering wire like 0.7 or 0.8 mm, is strongly preferred for this kind
of PCB assembly. Your soldering joints are supposed to look like this: ☺
(Note the golden through-metalised holes...)
Multi-channel set-up
The design does support symmetric (balanced) audio or multi-channel (5.1 or 7.1) surround
audio. The extra audio channels are handled by connecting extra relay boards to the same
front display board. Multiple relay boards connect to one display board in the following way:
– Each relay board connects to the 6V-7.5V AC power. The new PCBs (of Nov. 06) provide
an 'AC-out' pair of pins for daisy-chain wiring.
– One relay board connects with (at least) the 3 center pins of the 5-pin connector to the
display board. Connecting the left-most and right-most pins is optional but has no
function. (These pins are primarily added for programming the PIC micro-controller.)
– All relay boards connect their GND and PGD, located at pins 3 and 4 of the 5-pin
connector. The PCBs provide 2 extra output pins for these signals for daisy-chain wiring.
The drawing below shows this set-up for a 2-board symmetric audio configuration.
+ -
+ -
+ -
+ -
+ -
+ -
Left audio
+ -
+ -
+ -
+ -
Right audio
In special applications, it might be nice to operate the attenuator relay PCBs further away
from the display PCB, in particular integrating a relay PCB inside each monoblock amplifier.
In that situation, only the data signal (pin 4) and the digital GND (pin 3) needs to be
distributed, and the display PCB can take its 5V supply from a local source. It is for such a
configuration, that each relay PCB has its own 'power down' output signal. A series resistor
of 220ohm is recommended in the data signal between the display PCB and off-case
connectors to improve safety and damping.
Remote controller compatibility
First thing to do, is to find your own remote control hand-held that transmits IR signals in a
format that is understood by the attenuator. There are many different formats, some of them
are shared by multiple companies/brands. Clearly, within each format, many different codes
are used for activating different functions on different devices. Your attenuator understands
the classic Philips RC5 and their newer RC6 format, as well as the Sony SIRC protocol. For
technical information on these formats see for instance the nice website at All generic (multi-brand) IR remotes can send
these 3 formats. Personally I am using a left-over 'Hauppage' remote from some old PC-TV
card. For some remotes the operation is not reliable if you hold them too close to the
attenuator: they seem to overdrive the IR receiver.
If you power-up the attenuator (the front PCB), and everything works fine, the display shows
‘P .’ for about 5 seconds, then shows ‘C1.’ for about 2 seconds, and then continues to
show ‘15.’. The small dot is in fact a ‘power-on’ indicator. The P indicates that the device is
in a mode susceptible to programming (learning IR codes). The C1 indicates that audio
input channel 1 is currently selected, and 15. indicates the current volume level.
In sending a IR signal to the device three reactions are possible:
• ‘--.’ This indicates that the device cannot deal with the format of the received IR
signal. You have to find yourself a different remote (or, for a multi-brand remote,
experiment with a different mode). This error signal is only displayed during the 5seconds power-up programming mode.
• ‘ 3.’ Some changed one- or two-digit numeric result means that the device performs
a proper reaction on an understood button function.
• If the displayed volume level remains unaffected, this indicates that the device doesn't
understand the received IR signal. Your remote might be compatible, but the volume
controller has no action associated with this particular button code. This would be the
expected result for a new (still non-configured) attenuator after the 5-second
programming-period has expired.
Configuring IR reception
With a compatible IR-remote you can proceed with learning your attenuator to react properly
on your favourite buttons. You (again) power-up the device, ‘ P .’ is displayed, which
indicates that programming can be done.
a. Within 5 seconds or so after power-up, you press some button on your remote that
you do NOT want to configure in the attenuator, and was NOT configured earlier,
such as ‘menu’, ‘OK’, or ‘Fast Forward’. Assume -for this text- that this button is ‘OK’.
The attenuator reacts with ‘P1.’ on its display.
b. You can freely press ‘OK’ repeatedly, thereby cycling through ‘P1.’, ‘P2.’, … ‘P9.’,
‘P1.’… If you do not press anything for about 5 seconds, the display will go back to
‘C1.’ and ‘15.’ respectively, indicating that you have left the configuration mode.
c. If the display shows ‘P1.’, and you press any button other than ‘OK’, that button
code is stored in non-volatile memory and will be used later for ‘Volume Up’. The
display reacts with ‘ 1.’ to confirm the programming of function 1. Pressing ‘OK’
again will move you to the next button to configure.
In repeating steps b. and c. (and/or a.), you can configure the following button codes:
‘P1.’ Volume Up
‘P2.’ Volume Down
‘P3.’ Mute on/off
‘P4.’ Input channel Up
‘P5.’ Input channel Down
‘P6.’ Input channel select number 1
‘P7.’ Input channel select number 6 (highest channel number)
‘P8.’ Power-down
‘P9.’ Display mode
The numeric keypad on your remote can be used to select the audio input channel. For this
purpose, the signals of the first button '1' and the last button '4' must be programmed. As an
exception, by choosing another value then '4', you may program a different number of input
channels. Programming a value of '2' restricts later channel selections from 1 to 2 only. You
can program a value up to 7 when you connect the extra required relais.
The 'power down' button not only activates an optionally connected power-relay to switch
off, but also switches-off all on-board relays, thereby silencing the output signal. In the
power-down mode the attenuator does not respond to volume up/down or mute commands.
All RelaiXed functions are activated again if a channel-select or a 'power down' command is
P9 is not intended to enable an extra button function. It changes the mode of the display
itself. In the default mode, the attenuator continuously displays the current volume setting,
except in power-down mode where it only shows ‘
.’ If the P9 location is programmed
with the same key as 'power-down', the attenuator displays a reaction to the last command,
I.e. by showing the most recent input channel selected or the newly selected volume level
during about a second. Hereafter the display will always return to idle (black) again. Some
people prefer such a normally-black display. If you program P9 with any other button, e.g.
some digit, you will go back to the default behaviour with a continuous volume-level display.
Ready to use
Waiting a few seconds or pressing a pre-programmed command code will exit the program
mode and enter the normal use mode. Sending a command will display the new volume set
or input channel selected . Channel select up/down is cyclic. Pressing digit 1 to 4 selects the
corresponding input channel. The 'mute' command both mutes and un-mutes, changing the
volume disables mute. The 'power down' command has 2 functions: it powers down but also
powers-up after a short delay. Power-up is also induced by input channel selection.
The attenuator normally can be built with the rotary switch in the front-panel, although having
this switch may be considered optional. Turning the rotary increases or decreases the audio
volume. This type of switch has no end-point: it gives purely incremental (relative) updates.
At the scale end-points (volume 64 and 00) the volume level is clipped by the micro controller
firmware. If the attenuator is in the 'mute' state, turning the volume ends this. The rotary
switch type proposed also has a built-in push-button. Clicking this (pressing on the knob),
switches to the next audio input channel. After channel '4' it cycles back to '1'. If the
attenuator was in 'power down' mode, the first click will only power-up the attenuator. If you
keep the button pressed for about 5 seconds the attenuator will turn-off (go to power-down
The attenuator display PCB stores its last used volume and channel selection in non-volatile
(EPROM) memory. If the AC power is restored, it starts up with these (saved) settings.
One last warning: For its audio signals, the attenuator is truly passive. Its maximum output
resistance is not higher then that of a normal potentiometer, but it retains its high resistance
across the volume range. Some power amplifiers do not like to be driven by such resistance,
or in some system set-ups humming might be picked up. Please verify in your own system
that an output resistance of about 9Kohm (for my default Dale resistor choice) does not
cause you any problems. If 9K is problematic, the attenuator needs to be followed by a driver
stage to lower its output resistance.
Of course, mounting lower resistor values can also give you a lower output resistance at the
cost of a lowered attenuator input resistance.
Layout and sizes
Below is a picture of the PCB layout, printed slightly bigger then real size. The top layer is in
pink, the bottom layer in blue. The size annotations are in millimeters.
Mounting holes are 3.2mm diameter. The height of the components above the relay/resistor
print is typically 22 mm. The height of the components above the display PCB surface is
9mm, which is the height of the 7-segment displays itself.
Success with building your attenuator,
and happy listening,
Jos van Eijndhoven
February 2008
Appendix: Optional things to buy
The kit that I distribute contains the PCBs and all PCB-mountable components. Of course
you need some extras to complete your amplifier project. The table below shows a selection
of a few things that might be useful. They are taken from the web-store at, a convenient (internet-)store through Europe.
Power supply transformer (6V, 2.3VA)
€ 4.77
Power switch relay (coil 5Vdc, contact 250V 8A)
€ 5.62
Red transparent window
€ 0.90
Neutrik chassis cinch connector, red
€ 1.54
Neutrik chassis cinch connector, black
€ 1.54
Solder wire Tin/Silver/Copper, diameter 0.5mm, 100gr.
€ 18.95
Spacer 5mm / M3 for PCB chassis mounting
€ 0.06
You can surely find cheaper alternatives, but I typically perfer the higher-quality
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF