ESP Logo
 Elliott Sound Products Project 236 

Audio Millivoltmeter (Mk II)

© February 2023, Rod Elliott (ESP)

HomeMain Index projectsProjects Index


This project page is quite a bit larger than most, because a simple description and a few schematics isn't enough to show how everything works.  The attenuators are especially challenging, because they have to be very accurate.  Achieving good accuracy is easy with DC or low-frequency AC, but when a circuit is expected to get to at least 250kHz, there are many factors than can derail an otherwise promising design.  I've gone to great lengths to ensure that everything is explained, and that means a bigger article.

Electronics students may also find the explanations useful to understand why things are done in particular ways.  Even if you don't build the meter, there's a lot of information that applies to other circuitry as well.  Attenuators and wide-band amplifiers are often baffling topics, but individual parts of the circuit can be easily adapted for other applications.  Importantly, most of the circuitry described uses commonly available parts (with the exception of the JFET and meter movement), and anything made from unobtanium has been excluded.

There's an AC millivoltmeter shown in Project 16, and while it's still a usable design, it's also somewhat dated.  One thing I found that I've needed is the ability to measure low voltages, typically less than 1mV or so on occasion.  I can get to that using my low-noise lab preamp in front of the millivoltmeter, but it's a bit cumbersome, with a mess of BNC cables.  Of course, one can buy a digital AC millivoltmeter, but then you have to read the digits, rather than watch a pointer move (or stay still) as you vary the frequency.  You can watch a pointer from the 'corner of your eye', with a reading taken only if you see the level change.  You can buy analogue millivoltmeters meters too, but they're not cheap.

My digital bench multimeter has a millivolt range, and while it certainly works, it's next to useless.  With low level signals it's slow to stabilise, and being digital, I have to read numbers.  The frequency response is fairly good (for a digital multimeter), but forget anything over 10kHz - the upper limit is too low.  It's unusable with a signal that changes level or frequency, and while I have used it a few times, it's simply not suitable for any serious work.  The lower limit is about 2mV (RMS) - not bad, but the in-built frequency counter doesn't work if the input is less than ~5mV, and the upper frequency is even lower with a low-level input.

fig 1
Figure 1 - Front Panel Of New Millivoltmeter

Apart from anything else, the original design has been in need of a 'face lift' for a while now.  Lurking in my collection, I found a couple of very nice meter movements, but they are 250µA sensitivity with an unusually high series resistance (3kΩ).  That means a new meter amplifier was required, because the one used in Project 16 can't provide 250µA into 3k.  The movements have a taut-band suspension.  These are arguably the best, but they are uncommon now.  The photo doesn't do it justice, but you get the idea.  You'll have to use what you can get.

I elected to show the sensitivity increasing with clockwise rotation of the knob.  This is standard for most oscilloscopes, but it varies.  If you prefer the highest voltage to be fully clockwise, it's just a matter of wiring the attenuator appropriately.  There's no 'right' or 'wrong' way for the attenuator, so use the configuration with which you are the most comfortable.

There are a couple of things that are a little unfortunate.  One is the fact that suitable JFETs are now hard to find.  This has been the case for a while, but it gets a little worse every year.  The Project 16 millivoltmeter is similarly afflicted.  The suggested JFET for this project is from Linear Technologies, and is the LSK170 - a direct replacement for the 2SK170 JFETs much loved by many for their very good noise performance.  The other is analogue meter movements.  Even most major suppliers have a fairly pitiful range, although if you look hard enough you should be able to get a decent 100mm wide meter movement for less than AU$30.00 or so.  You won't find a 127mm meter like mine though.  Sorry about that.

There are still a few specialist manufacturers of analogue meter movements, some in the US, but most are from China or Taiwan.  It's almost guaranteed that the meter will not have the required 0-10 and 0-3.16 scales (although some suppliers offer custom scales), nor will it have a separate dB scale.  There are several ways you can make a new meter face, and there's software available that can be used to create a custom scale that can be printed with an inkjet printer.  A web search will turn up quite a few possibilities for meter movements and scale design.

The ranges I chose are from 300µV to 30V, in 10dB steps.  One thing that's almost impossible to obtain now is a double-pole 12-position switch, which would allow the range to extend to 100V.  The only switches you can get economically are 11-position.  Note that the '3' ranges (300µV, 3mV, etc.) are actually 3.16 to get 10dB intervals.  This is normal for all meters calibrated in dB.  You can see that on the meter face in Fig. 1.  The meter is calibrated for dBu (0dBu is 775mV, or 774.5966692mV if taken to the extreme).  This is based on the old standard of 1mW in a 600Ω load.

 Position n/a 1 2 3 4 5  6 7 8 9 10 11
 Volts 100 30 10 3 1  300m 100m 30m 10m 3m 1m 300µ
 dBu +40 +30 +20 +10 0  -10 -20 -30 -40 -50 -60V -70
Table 1 - Millivoltmeter Ranges (12 Positions Shown)

The first range (100V, greyed out) can't be obtained with an 11-position switch.  That's unlikely to cause any problems.  Millivoltmeters are almost always used with low voltages (the name itself is a giveaway), and 30V is a reasonable maximum that is unlikely to be limiting in use.  This is not the sort of meter you'd use to measure mains voltages!


Having built and tested my prototype, I can confirm the specifications.  Accuracy is tricky to specify because not everyone will be able to achieve exact values for all of the sensitive components, specifically for the attenuators.  In general, I'd suggest that 2% is easily achieved, but allow for up to 5% variation.  Absolute accuracy isn't as important as the frequency response, which I've measured as being within better than 1% from 10Hz to 250kHz.  You may be able to match that with careful internal layout and accurate attenuators.

 Ranges: 300µV 1mV 3mV 10mV 30mV 100mV 300mV 1V   3V 10V 30V
 dB -70 -60 -50 -40 -30 -20 -10 0 +10 +20 +30
 Response -0.1dB 20Hz - 250kHz -0.5dB 10Hz - 500kHz
 Input Impedance 1MΩ (nominal) in Parallel with 22pF (964k on lowest 4 ranges)
 Output 100mV Full Scale (All Ranges)
 Noise -90dB Unweighted
 Operating Voltage +18V DC (Derived from 230V or 120V Mains)
Millivoltmeter Specifications

The specs aren't stellar, but they match those of many commercial offerings that will cost you a great deal more than this unit.  Of course, there's a significant labour input as well, but that's what DIY is all about.  The frequency response is the most important parameter, because if you're measuring the response of an amplifier or preamp, the voltage will generally be fixed so you can measure the -3dB frequencies (or simply verify flat response between 20Hz and 20kHz).

The lowest (sensible) voltage is 300µV (full scale).  While it is possible to add another gain stage to get lower than that, I ultimately decided against it.  Having run some tests with my Low Noise Test Preamplifier (60dB [×1,000] max.), it became obvious that trying to get a useable measurement at less than 100µV is difficult, because circuit noise becomes dominant.  Even using a lower input impedance doesn't help much.  The 1MΩ input impedance is fine for most measurements, but if used down to 300µV the noise from the attenuator becomes intrusive.  A 1Meg resistor generates over 40µV of noise with a 100kHz bandwidth, or 64µV with a 250kHz bandwidth (the design goal for this meter).

Fortunately, the capacitive voltage divider reduces this because the caps shunt much of the high-frequency noise to ground.  There's still rather a lot of noise, but I measured the residual noise on the 300µV range at greater than -90dBu (i.e. less than -20dB reading on the scale).  That's about 25µV, and it should be apparent that a more sensitive range (say 100µV) would read ¼ scale with no input.  The noise reading was only slightly less with the input shorted.

To make your life a little easier, all resistors and capacitors that must be close tolerance are indicated on the schematics.  Any unmarked parts are not critical, and normal 1% tolerance is acceptable.  All parts marked with a diamond next to the part identifier (e.g. R1, C1, etc) have to be selected for the closest match possible to ensure accuracy.  Where appropriate, series or parallel resistors/ capacitors are shown where an odd value is needed.  Where you see || between two values, they are in parallel (+ means in series).

Since the switch has 11 position, the ranges are limited to 30V maximum.  You could use a 12-position switch and use relays for the switching, but this becomes very unwieldy, very quickly.  Ultra-miniature relays are available at a reasonable price, but they are PCB mounting, and the capacitance of Veroboard will almost certainly cause errors (a PCB is not planned for this project).  For any given range, two relays will be in circuit, and they draw around 12mA each (for 12V types).  The relay coils would need a regulated supply to minimise hum and noise.

The 'steering logic' required to engage the correct relays for each range is another annoyance.  The simplest is a diode array to select the correct relays for each setting (at least 14 diodes in all).  I gave this option some thought, but you need at least seven relays (3 for the 1st attenuator, and 4 for the 2nd) at around AU$6.00 apiece, there's a hefty outlay just for the relays.  You still need a switch, steering logic and a separate power supply.  One could use a PIC, but IMO that would be silly (and it will inject noise into sensitive circuits).

This is not a simple project, and while you may find far simpler circuits elsewhere, most can't compete in performance.  I've gone to great lengths to get the noise as low as possible, but it cannot be eliminated (the laws of physics aren't 'optional').  As a result, you will see residual noise at low voltage settings.  There are a couple of opamps that would make the circuit quieter, but they are seriously expensive.  I've made do with devices you can get easily, without breaking the bank.

Throughout this article (including drawings), the part values are assumed to be exact.  1% resistors have 1% tolerance (not unexpectedly), but that's not good enough.  You can buy 0.1% resistors, but they are relatively expensive.  It's cheaper to use readily available 1% resistors and select them using an accurate multimeter on the ohms range.  Make sure that the meter's lead resistance is also accounted for!  The same applies to capacitors used in the input attenuator.  These also need to be selected, and will ideally be G0G/NP0 (zero tempco) ceramic rather than Mylar/ PET/ polyester.  An alternative is polypropylene, which is more stable than Mylar.  If you don't expect temperature extremes, Mylar will be fine.
2 In all cases where an electrolytic cap is shown for coupling or feedback, there is no film cap in parallel.  Everyone seems to think that electros have a limited frequency response, and that parallel film caps are essential.  My prototype was built, tested and calibrated without any parallel film caps, and all circuits are flat to at least 1MHz.  You may wish to add 100nF multi-layer or ceramic caps, but they will make no difference to the circuit's operation or frequency response.  This might change as the caps age, but expect at least 10 years before you experience any issues.  Parallel 100nF caps are included for supply decoupling.

Project Description

Note that in all the circuits that follow, electrolytic caps should be rated for 25V unless indicated otherwise.  220µF bypass caps (across feedback resistors to ground) can be either 10V or 16V.  220µF coupling caps should be 25V, and the 1mF (1,000µF) bypass caps are all 10V.  Higher voltages are acceptable, but they become quite large and will take up more space on the Veroboard layout.  You often see low-value (e.g. 100nF) caps in parallel with electros, but these are not shown in the circuits other than for supply bypass.  You can add them if you wish (I didn't find them necessary at all).  Other than C1 (400V), all film/ ceramic caps are rated for 50V minimum.  63V and 100V are the most common.

This project is multi-part, as it has two attenuators, two primary gain stages, the meter amplifier and power supply  Each sub-section is shown separately, and component numbers are not incremented from one circuit module to the next.  That makes it easier to put each module together separately, and test each one before you move on to the next.  Most tests will simply be to verify that the circuit works with a sinewave input at ~1kHz, and has close to the expected gain.  If you have the ability to test up to 1MHz I suggest you do so to ensure that the frequency response extends to at least 250kHz before rolling off.  If the response rolls off too early you won't be able to use the meter to verify response at high frequencies.

The input attenuator has a nominal impedance of 1MΩ and is capacitively compensated to obtain flat response to at least 1MHz.  It provides an attenuation of 0dB, 40dB and 80dB.  The input attenuator is followed by a 20dB gain stage.  This has a nominal input impedance of 20MΩ, obtained with two 10MΩ resistors in series (you can use a 22MΩ resistor if preferred).

While it may seem that the active electronics are the 'important' parts of the circuit, the attenuators are the most critical.  For anyone interested, I suggest that you read The Design Of Meter (And Oscilloscope) Attenuators, as this provides the background to the design of these circuits.  I used a ratio of 3.16 (the square root of 10 - √10) for most of the calculations, but the true value is 3.1622776605.  The error introduced by using the 2-digit divider ratio is less than 0.1%.  This will (hopefully) make sense as you read the sections describing the attenuators (particularly the 2nd stage).

The input is applied (more-or-less) directly to the first high-Z gain stage for input voltages up to 10mV or -30dB (referenced to 1V, dBV).  That means the attenuator isn't used until you switch to the 31.6mV, -40dB position.  The signal is attenuated by 40dB (100 times), so 1V is reduced to 10mV.  The meter preamplifier has a sensitivity of 3.16mV full scale.  The meter amplifier will work with an analogue movement from 50µA to 250µA.  Details for adjusting the meter amp for different meter movements is described below.

The 80dB attenuator is used to measure voltages of 3.16V, 10V and 30V.  It requires a 101Ω resistor, which can probably be obtained by selecting a 100Ω resistor with maximum tolerance.  The three capacitors (C2 [variable], C3 and C4) ensure the response remains flat at high frequencies.  C2 (trimmer cap) is adjusted to get the flattest response possible on the 31.6mV range, and it compensates for stray capacitance, and that of the protection diodes and JFET.  Adjustment of C2 should be performed at between 10kHz to 40kHz.  Don't be tempted to use a trimmer capacitor with more than 20pF total, as it will have a temperature sensitive dielectric.  If necessary, use a small fixed NP0/ C0G ceramic in parallel with the trimmer cap.  I ended up with just under 12pF in parallel with the trimmer.  The nominal value for C2 is 22pF.

The second attenuator is on a second switch wafer.  The relationship of the two attenuator sections is important to ensure the ranges line up properly (see Fig. 6).  When the 1st attenuator is set to -40dB, the 2nd section has to provide 0dB attenuation.  The two are wired on a dual-wafer 11-position rotary switch, with the second attenuator linked.  They are on separate drawings, but are shown set for the same voltage - 10mV full scale.  The first gain stage should be mounted very close to the attenuator wafer switch, with the shortest possible wiring.  Adding only a few pF will cause high-frequency attenuation.  The input protection diodes also have an effect, because they have capacitance too.  R1 creates a -3dB frequency of 2.67MHz, and I found it to be essential to prevent oscillation when the meter was set for 300µV with the test leads shorted.

fig 2
Figure 2 - Input Attenuator And 1st (High-Z) 20dB Gain Stage

The input attenuator has only three dividers, straight through (0dB), -40dB and -80dB.  This minimises the number of precision capacitors needed, and also minimises the number of secondary attenuators needed.  The -80dB position is used for three ranges, 3.16V, 10V and 31.6V, and in theory doesn't require compensation as the impedance is so low.  Reality is different, and stray capacitance across the switch wafer can cause unwanted HF boost (I tried a simplified version and it was completely unsatisfactory).  1pF (yes, one picofarad - not a misprint) between the input and -80dB output is enough to cause serious high-frequency problems (up to 10dB error!).

Capacitor selection for the attenuator is (and will always be) problematic.  You would hope that the values would be randomly distributed around the nominal value, so you can select a value close to what's needed.  I found that may not be the case if they are all from the same batch.  Ultimately, you will almost certainly need to experiment (and/ or compromise) to get values that provide the desired accuracy.  Getting the capacitive attenuator to work is easy, ensuring its accuracy is not.  C3 is shown as 218nF, but 217.7nF is closer to the correct value.  It's surprisingly sensitive if you want high accuracy.  If C3 were 220nF (exact), the high frequency error is within 0.1dB (roughly 1%).

R6 will almost certainly require adjustment to account for JFET parameter spread.  It should be selected to get 8 - 12V DC at the collector of Q2.  If preferred, you can use a 50-100k trimpot in place of R6.  This has the advantage that if ever the JFET needs to be replaced, the circuit can be re-biased without having to desolder anything (apart from the FET).

A difficulty that's ever-present with JFETs is being able to get one that's suitable.  The number of available devices has shrunk alarmingly in the past few years.  The recommended LSK170A may not be available, so you might need to make a substitution.  The venerable 2N5459 or 2N5484 will be alright, but they're obsolete, not especially quiet, and many of the other alternatives are available only in SMD packages.  Because of its location, the JFET needs to be low-noise, limiting your options even more.  The LSK170 has an equivalent input noise (EIN) of 0.95nV/√Hz, or a noise figure of 0.5dB.  If you have a genuine 2SK170 you can expect results close to mine.

The measured bandwidth (-3dB) of the Fig. 2 circuit turned out to be over 18MHz with 20dB of gain.  That's far better than the simulator predicted, and far better than I expected.  The input capacitance of the preamp (including diodes) is about 5pF.  You may need to limit the response to around 1-2MHz to prevent oscillation.  If you find this necessary, it's accomplished by adding C7.  You'll have to experiment to find the right value, as it's somewhat dependent on the transistor (Q2).

If you can get the 2SK3559, BSR58, BF861 or 2SK208 (they are SMD only) you should be alright, with the 2SK208 being the best of them for noise.  Regardless of the JFET used, R6 (shown as 22k) will probably need to be altered (or use a trimpot) to get ~9V DC at the collector of Q2.  As discussed in detail in the article Designing With JFETs, all JFET devices have a broad parameter spread, and it's rare that you can just use a JFET in a circuit and have it work straight away.  Be warned that if you get 'premium' JFETs from eBay or similar, there's a reasonable chance that you'll get a JFET, but it could be anything.  Expect fakes and you won't be disappointed.

fig 3
Figure 3 - Graph Showing Effect Of C2 Value

The graph shown is far too precise, but that's deliberate.  The value of C2 was varied from 22pF up to 22.1pF - a tiny range, providing a HF boost of 0.03dB (22.1pF) or a loss of 0.01dB (22pF).  The ideal value is 22.028pF, but all traces shown well within the strictest specification.  The inset shows the (exaggerated) response with a squarewave, and is exactly what you see when calibrating a ×10 scope probe.  The error with 22pF (exact) is tiny, amounting to less than 0.2% of full scale.  Even with a perfect meter, that error is about the width of the pointer.  However, it's important that you can see the response when the attenuator is under- or over-compensated.  The real error can easily be made to be less than 1%, which is usually more than good enough.  The voltage was measured at the input of the first preamp.  As you can see, all of the traces are within 0.03dB, but expecting better than 0.1dB in the 'real' circuit is probably optimistic.

An error of ±1% is under ±0.09dB, and reading an analogue meter to better than 0.5% is usually difficult (even with a mirror scale to eliminate parallax errors).  It's also unnecessary, and if we can achieve an error of better than ±1% that's almost certainly going to be quite acceptable (roughly ±0.18dB).  That's about ¼ of a minor division on the meter scale shown above, both for voltage (10V scale) and dB.  Ultimately, the relative accuracy depends on the precision of the attenuators - resistive and capacitive.  The full-scale reading is easily set with the meter amp's trimpot.

While you probably wouldn't realise it, getting a squarewave with a perfect edge (the red trace in the inset) means that frequency compensation is optimum.  This technique has been used for many years with oscilloscope probes, and it remains popular because it works so well.  While Fig. 3 was simulated, testing has confirmed that the actual circuit can be compensated just as accurately.

An option you may wish to consider is the use of an opamp rather than the discrete stage shown.  Don't even consider a TL072 - it's not good enough (the LF356 is only marginally better).  A better option is an OPA2134 or other low noise JFET input opamp (some may be SMD only), preferably also with both opamps in parallel.  Consider that even the 'low noise' OPA2134 will have an output noise of over 8µV, far worse than a low-noise JFET.  This will be amplified by 30dB (×31.6) by the meter preamp.

fig 4
Figure 4 - Input Attenuator And Opamp 1st 20dB Gain Stage

Fig. 3 shows how to wire an opamp for the first gain stage.  There are a few choices for the opamp, and the OPA2134 is just ok (but limited bandwidth).  A better choice is the OPA1642 (SMD only, 11MHz bandwidth).  The opamp must have a JFET input stage, and have a unity gain bandwidth of at least 8MHz.  The gain is 20dB (×10), and it's easier to include adjustment (VR1) because the attenuator will load the output.  A small error in this stage is of little consequence, as the meter preamp can be adjusted to compensate.  However, it will make calibration easier if each stage provides the right amount of gain.

CC and RC are optional compensation components that will extend the bandwidth of the opamp.  The values shown are a starting point only, and they will need to be adjusted.  Adding compensation should allow flat response up to ~500kHz (-0.1dB), but the actual values depend on the physical layout and the opamp being used.  This arrangement is very common in high-frequency circuits.  You may be able to use a trimmer capacitor for CC to get the response 'just right'.  You can use the same trick for the second preamp if you wish.

I had expected the JFET circuit (Fig. 2) to be disappointing, but it far exceeded my expectations.  I ended up not building Fig. 4, as I wouldn't use it.  If you do select the opamp version, don't expect flat response to much more than ~150kHz.  There are other possibilities, including a low-noise JFET buffer (source follower) and a bipolar input opamp.  While this will certainly work, it's not ideal because the JFET will be open loop (no feedback).  This will increase noise because the FET has no gain (actually a small loss) which has to be made up by the opamp.  I haven't shown this option.

The second attenuator does most of the work, having attenuations of 0dB, 10dB, 20dB and 30dB.  The 2nd attenuator is low impedance, so stray capacitance won't cause any significant errors at high frequencies.  Even 100pF of stray capacitance has little effect below 1MHz.  It is (and always will be) something of a can of worms though.  Working out the ratios is the easy part, but you end up with resistors that aren't available in any series.  There are three approaches ... separate sections for each ratio, a series 'string', or a 'combination' attenuator with both series and grounded resistors.  The latter wasn't considered viable, and isn't shown.  There's another solution - trimpots.  This is likely to be the preferred option, and it's the one I elected to use.  Whichever solution you adopt, wiring the wafer is a pain and mistakes are easy.

The sequence is based on the square root of 10 (√10 = 3.1623), which is 10dB.  There will always be small errors, but using trimpots means that each division can be set exactly.  They must be high-stability 10-turn types for long-term reliability.  Three attenuator options are shown next.  Note that resistor values for 'A' and 'B' are exact, and will need to be verified with an accurate ohmmeter.  Use only 1% metal-film resistors.  With exact values, the overall division ratios are all well within 1%.

fig 5
Figure 5 - 2nd Stage Attenuator Options

The first is the simplest, until you realise that two values are irksome, needing low-value series resistors which are difficult to get.  There's no sensible parallel combination that will get the values required.  These could be trimpots, but they are interactive and setting the values will be a tedious process.  The second attenuator also needs three odd values, but there is no interaction.  That leads to the final version using trimpots.  The three trimpots are 1k, and there's (almost) no interaction.  The tiny amount you'll see is due to the finite output impedance of the 20dB gain stage.  That means that you will need to verify each setting, but it's easy to do.  The biggest benefit of the adjustable attenuator is the fact that you can adjust it perfectly.  With the values shown, all results are within 1% (most are within 0.5%).

Regardless of the method used, the second attenuator is a cow to wire up because of the many interconnections involved.  Even the drawing was a pain, so be prepared for the worst.  The increments are all in 10dB (×3.16) steps, with the range selected by the first attenuator, so 300µV - 30mV - 3V, then 1mV - 100mV - 10V, followed by 3mV - 300mV - 3V, and finally 10mV - 1V.  You need to look at the second attenuator carefully to see the connections between the ranges, then add the attenuation from the first attenuator circuit.

fig 6
Figure 6 - 2nd Stage Attenuator Wiring Detail

The wiring detail is shown with the simple series attenuator, but it applies to all three of those shown above.  The colour-coding should be helpful to ensure that you get the wiring right.  The switches are all shown in ascending order of input voltage, and the most sensitive position is fully clockwise (viewed from the front).  You can reverse it if you prefer, but clockwise for increased sensitivity is 'normal' for most (but not all) meters and oscilloscopes.

Bear in mind that if you can only get a 'Class 2.5' meter movement, the rated accuracy is 2.5%.  You will be able to get better accuracy by trimming the gain of the meter amplifier stage.  There's nothing you can do about the meter's linearity though, so you have to accept what you get.  You may want to consider getting a reasonably decent analogue multimeter and cannibalising it for the meter movement.  You will need to make a new scale, calibrated for 1V and 3.16V.  Scale calibration is a fairly tricky business, because of the 3.16:1 ratio between ranges.

In the following drawing, there's a reference to 'Absolute' and 'Relative' dB.  'Relative' shows the attenuation of the 2nd attenuator alone, while 'Absolute' refers to the dB ratios taking the 20dB gain stage into account.  For example, the 10mV range shows the 'absolute' level to be -10dB, which is 3.16mV (the input sensitivity of the meter preamp stage).  The figures in grey show the 'absolute' gain for the remaining two input attenuator settings (-40dB, -80dB).  These work for all switch positions.

fig 7
Figure 7 - Both Attenuators Plus Gain Stage

To allow you to see the complete gain structure, Fig. 7 has everything on the same drawing, with the gain stages simplified to blocks.  From this, you can mentally apply any voltage to the input, and trace the gain/ loss through the attenuators.  Decibels simply add, so the 31.6V range (for example) has -80dB (attenuation), +20dB (gain), then -20dB (attenuation) in the second stage (-80dB total).  -80dB is a division by 10,000.  If 31.6V is applied to the input and divided by 10,000, the answer is 3.16mV.  This is the voltage required for full scale deflection of the meter.  You can work out the ratios for any input voltage and attenuator setting in the same way.  To covert dB to a voltage ratio, use the formula ...

Ratio = 10^ ( dB / 20 )    For example...
Ratio = 10^ ( 40 / 20 ) = 10^2 = 100

At the other end of the range, 316µV gets 20dB of gain (×10), and is also 3.16mV.  The ratios are all in dB because otherwise the drawings would be filled with very large numbers, making them hard to read.  Both attenuators show the voltage ranges as well as dB so you can follow the path for any setting of the rotary switch.

The metering amplifier is in two parts.  The first is a preamplifier, with a gain of 30dB (×31.6).  While this can be done with a comparatively straightforward discrete circuit, it will be sensitive to supply variations and noise.  I tried a suitable candidate, and while it worked, I found it to be temperamental.  Getting the required gain was easy enough, but the DC stability and high frequency gain were disappointing.  A small supply voltage change caused the circuit to go 'off-line' for a period, and overload recovery was very slow.  The biggest issue with a discrete circuit is biasing - very large caps are needed to prevent unwanted peaking at low frequencies, and that means it takes a long time for the circuit to settle.  An opamp version also has that problem, but it's much less objectionable.  I elected to use a pair of dual opamps.  These have the advantage that they are well behaved, and ultimately easier to implement.

The meter preamplifier is in two stages.  The first stage is an opamp with a gain of ×6.7 (just over 16.5dB),  The second stage is set to provide a total gain of ×31.6 (30dB).  The preamp gain is adjusted with the 1k multi-turn trimpot.  This has the advantage that resistor selection is no longer critical.  The goal is to obtain 100mV output for a 3.16mV input.  The preamp also provides an output that can be sent to an oscilloscope or monitoring system (audio amp and speaker).

fig 8
Figure 8 - Meter Preamplifier, Including Audio Out

You may wonder why the amp is in two stages.  A single opamp will struggle to get to 1MHz at -3dB (the minimum acceptable).  Because we want flat response to at least 250kHz, gain flatness for each stage has to be pretty good up to 1MHz.  Yes, you can (just) get there with one stage, but you need an expensive opamp to manage 1MHz bandwidth with a gain of 30dB.  It's simpler (and cheaper) to use a standard (low noise) opamp.  The first stage has a gain of ×6.7, and the next ×4.7 (adjustable).  The bias divider (R1, R2) is bypassed by C2 to ensure that any PSU noise doesn't get through to the opamp's input.  The input impedance is 100k.

To my mind, there is only one choice for the meter preamp opamp - LM4562.  I've tested it with the circuit shown, and the response is dead flat to 4MHz.  There's no peaking before rolloff (demonstrating that the Veroboard layout didn't cause issues with the NE5532 described next), and it measured -3dB at over 6MHz.  Along with the low noise, it's unsurpassed by any other device I tried.  I saw no evidence of 'bad' behaviour, but it did oscillate without an input termination.  Since the input is connected to the second (low impedance) attenuator, this is unlikely to cause any issues.  A simple inter-stage shield should prevent oscillation if you experience any.

The capacitor marked 'SOT' is select on test.  It's a compensation cap that may be needed with NE5532 opamps.  I tested one, and it needed about 33pF for CC to prevent about 2dB of boost at 700kHz.  I also tested a OPA1642, and that didn't need CC, but was about 1dB down at 1MHz.  It's possible that the boost may give you a flatter measurement above 250kHz if it compensates for the slight rolloff in the metering amp, but that can only be determined empirically.  I suggest that you use an LM4562.

Noise can become a major problem for the meter (hence the need for very low noise from the first preamp stage), and low noise is also preferable for the signal output.  If it's noisy, it becomes hard to read on a scope and it makes listening (if you choose to do so) unpleasant.  It's still far from silent though.  When we have signals at 300µV, with the ability to measure down to ~30µV, some noise is inevitable.  However, the ability to have a preamp with a gain of up to 50dB can be useful for monitoring very low signal levels.

The preamplifier stage should ideally be in a separate shielded box - it's very sensitive and has wide bandwidth.  That means it will pick up any noise that's present on supply rails (including the ground), and even the resistors can act as tiny antennas for noise.  This is not a 'normal' circuit, and it must be treated with respect for good results.  You can add a basic shield between opamp stages to limit inter-stage feedback, but that shouldn't be needed with a good layout.  With a sensitivity of just 3.16mV full scale, good overall shielding is essential.

The preamps have a total gain of 50dB (×316), far higher than any normal audio circuit.  Not only is the gain high, but these circuits are also wide bandwidth (the aim is for -3dB at 1MHz minimum).  Ideally, and very much the case if you use good opamps for the preamp, the -3dB frequency will be greater than 5MHz.

For the metering amp, it might seem like a reasonably fast opamp would be ideal.  I experimented with an NE5532, which (at least in theory) should have been happy up to at least 250kHz, but it couldn't even get close when driving a meter rectifier.  In contrast, the simple 2-transistor stage shown in Fig. 9 remains within 2% at up to 500kHz.  With the poor 'lead dress' of my original prototype of the circuit shown (multiple test leads attached as well), I saw some RF oscillation if I touched various parts of the circuit, but the pointer remained steady.  However, oscillation is not often benign, and it's better if there isn't any sign of instability.  Adding compensation will cure any oscillation, but it will also slow the response of the circuit and limit the bandwidth.  I think that's called 'throwing out the baby with the bathwater'.  :-)

The input impedance of the meter amp is a little under 39k.  Two transistors provide the gain, and the full-scale sensitivity is 100mV.  A high input voltage means that there's less amplification needed in the circuit, making extended frequency response easier to achieve.  Ideally, the response should be good to at least 1MHz.  The meter amplifier should be mounted as close as possible to the meter movement, as long leads act as antennas and will cause oscillation.  Because of the high gain, the DC conditions may need to be tweaked to get between 8V and 14V at the collector of Q2.  R4 controls the DC feedback, and a lower value reduces the collector voltage of Q2.  When the unit has been tested, C1 is not necessary, as there's an output capacitor on the meter preamp.

fig 9
Figure 9 - Meter Amplifier

The meter amp looks very 'Spartan', but it works well because of the relatively high input voltage (100mV full scale).  Both transistors are operated at higher current than 'normal' to maximise speed, and the circuit has high open-loop gain.  It has a gain of over ×250 at 1MHz without AC feedback, and has a gain of over ×1,300 at 100kHz.  The two diodes are shown as Schottky (1N5187 or similar), but germanium diodes will improve performance markedly.  If at all possible, I suggest that you use germanium diodes (e.g. OA91, OA95, 1N60, 1N34A), as they have the lowest forward voltage, minimising gain errors in the meter amplifier stage.  The meter amplifier has an input sensitivity of 100mV RMS for full scale (250µA).  It's a voltage to current converter, and is configured to have high open loop gain and slew-rate to overcome the diode voltage drops.  AC feedback is to the emitter of Q1, adjusted with VR1.  While it's a very simple circuit, don't underestimate its ability to oscillate if you don't get the layout right.

The amplifier uses current feedback (via the meter circuit and VR1).  You need to be very careful to ensure that it remains stable.  I have observed oscillation at close to 10MHz, and it can only be tamed by careful shielding, and making sure that all Veroboard tracks are cut so they're as short as possible.  Good supply bypassing is essential, and the leads to the meter should be as short as you can make them.  Ideally, the meter amp will be mounted to the meter terminals, with leads less than ~35mm long if at all possible.  That was the only way I could stop my prototype from oscillating.

As shown, the meter amp is configured for a 250µA movement with a 3kΩ coil.  Two parallel diodes are needed to prevent gross overloads.  If you use a more common 100µA meter it will have a resistance of around 1.5k, but this depends on the meter itself.  The circuit requires changes for other meter movements, but I've kept the modification simple...  add a resistor in parallel with the meter itself.  This acts as a shunt, and a proportion of the meter current is passed through the resistor.  A 10k trimpot (in parallel with the meter movement) can be used to allow adjustment for a 50µA or 100µA movement.

Metering amplifiers are a special type of circuit, where 'normal' rules don't apply.  They have to overcome the diode voltage drops, provide extended frequency response, and maintain good linearity (on the meter scale) down to 10% (or less) of full-scale.  This is difficult because the load is highly non-linear, unlike almost all other circuitry.  Some meter circuits are quite complex, but the one shown performs much better than most others I've tested.  Unlike 'hi-if' applications, distortion isn't an issue, and up to 1% THD or more is perfectly acceptable.  Good performance depends not only on the frequency response, but is also affected by the slew rate.  This is a measure of how quickly the output can change, measured in volts/microsecond (V/µs).

While a true RMS IC would initially appear to be ideal, these come with some hidden limitations that are easily overlooked.  In particular, the frequency response is typically -3dB at 1MHz, but that only applies for inputs above 100mV RMS.  The AD737 (~AU$30 each) has a response to 190kHz (-3dB) with 200mV input, 170kHz with 100mV input, down to a rather woeful 55kHz with a 10mV input.  A better choice would be the AD636, but you don't want to know the price for those!  They still have limitations too, so even the expensive option may not be very useful at low levels.

Normally, 'true-RMS' is a better option than average-reading, but either the cost gets out of hand or you have to settle for a limited bandwidth.  The meter described is average-reading, but calibrated for RMS.  Almost all AC millivoltmeters you can buy are the same.  True-RMS reading models are considerably more expensive, and may have limited bandwidth anyway.  Provided your input signal is a sinewave (or at least a passable facsimile thereof), the error will be small.  This topic is discussed in AN012 - Peak, RMS And Averaging Circuits.

Because of the overall gain of the various amplifiers (a total of up to 50dB, or ×316), each gain stage must have its own shielding.  This can be a diecast box or any other arrangement you can organise.  Without shielding, the high gain and wide bandwidth will cause feedback and oscillation.  Ideally, the attenuator will be shielded as well, because it has a large surface area that will make oscillation more likely.

The final circuit is the power supply.  Ideally, at least the transformer should be remote from the meter unit to prevent transformer hum from wreaking havoc with measurements.  This is inconvenient (to put it mildly), but if you expect to measure down to 300µV, even a tiny bit of supply noise will become a major headache.  If you choose an internal supply (I did), the case needs to be large enough to allow it to be separated from other circuitry and shielded so radiated noise isn't picked up by the circuitry.  It would be convenient to be able to use a P05 supply board, but reconfiguring it for a single supply is rather a waste of PCB real estate.  A battery supply would be the best choice, but adding a suitable battery pack is expensive and adds more complexity.  It would need a regulator because simple, single supply amplifiers are affected by the supply voltage (especially the meter amp).

Note that the mains earth/ ground is not connected directly to the chassis, as it would be shared with the input and output BNC sockets.  That would mean you'd introduce an earth loop when using the meter on earthed circuitry (whether 'properly' earthed or connected to earth with an oscilloscope ground clip).  That means that the mains supply should be wired to meet double-insulated standards.  All mains wiring must be insulated from the chassis and other parts by two separate layers of insulation.  Test equipment may be a 'special' case for regulators, as it's anticipated that it will be used by qualified persons.  The regulations vary worldwide, so exercise extreme care with all mains wiring.  Crf provides shielding for any RF interference.

fig 10
Figure 10 - Power Supply, Including Meter Relay Driver

The power supply is fairly conventional, and uses linear circuitry.  The 2×12V zener diodes at the output don't normally conduct, but they prevent the +18V supply from being forced high (to a potentially harmful voltage) if a high input voltage is applied to the input and the protection diodes conduct.  This precaution is often omitted, even in commercial designs.  The regulator will require a small heatsink, as it will dissipate around 1W (give or take - it depends on the opamps you use).  I used a 1mm aluminium plate 25 × 75mm, giving a total surface area of 37.5cm².  That got to about 38°C after an hour or so (a 16°C temperature rise).

Because of the very high gain and wide bandwidth of the gain stages, a switchmode supply will generate noise that will be almost impossible to filter out well enough to get an accurate reading at very low voltages.  The meter preamp has a gain of 30dB (1mV input sensitivity).  While opamps have fairly good power supply rejection, the same can't be said for the input preamp and meter amplifier.

The transformer is shown with a 24V secondary and bridge rectifier, but you can also use a 12V transformer with a voltage doubler, as shown in the inset.  This requires a slightly bigger transformer, and adds one filter cap - two 2.2mF caps are used in series to replace D2 and D4.  I'd only use the doubler as a last resort, mainly because of reduced smoothing despite the extra capacitor.  There's nothing wrong with voltage-doubler supplies, but do be aware that the transformer needs to be a little larger.

For either version, you may choose to use fast recovery diodes (and/or a snubber across the transformer secondary) if you prefer.  It's claimed that these reduce noise, but my investigations show that while true, it's usually irrelevant.  For anyone interested, see Snubbers For Power Supplies - Are They Necessary And Why Might I Need One?.  An optional snubber circuit (Rs and Cs) is shown, wired in parallel with the transformer secondary.  For a compact unit where noise can become a real issue, the fast diodes and snubber are worthwhile, even if they make no apparent difference.  Although I've showed BYV26A diodes, any fast, soft recovery diodes will be fine if rated for 1A or more.  Note that 'Crf' is optional, and in most cases the chassis will not be grounded.  I found that including the capacitor made noise pickup worse, and it was removed.  I normally never recommend a floating chassis, but for this instrument it proved essential.

The relay circuit isn't absolutely essential, but it is recommended.  Because the circuit uses a single supply, there's a large meter deflection when power is applied.  While this probably won't cause damage, it's not a good idea.  The two series diodes prevent gross overloads, but the relay adds an extra layer of protection.  The normally closed (NC) contacts protect the meter movement in transit by shorting the terminals to damp the pointer when it's moved around.  When you buy a sensitive meter movement, the terminals are almost always shorted for the same reason.  Using a diode (or two in this case) to protect the meter is a common fix, but with a 250µA movement at 3kΩ (750mV full scale), the diodes will only protect against gross overloads, and the relay is a far better solution.

The relay is on a timer, and the 'NC' (normally closed) contacts short the meter movement.  It is activated after about 4.5 seconds after power-on, removing the short.  AC is detected by D6, charging C6.  U2A is a Schmidt trigger NAND gate, and its output can only go low when Pin.1 and Pin.2 are high.  Pin.2 is connected to the timer (R7, C7), and when C7 charges to about 3V, both inputs are high, so the output goes low.  The second stage inverts the signal to drive the base of Q1, activating the relay.  When the AC is turned off, Pin.1 falls below 2V within ~100ms, and the output turns off allowing the relay contacts to close.

The miniature relay is powered via a 470Ω resistor (R9), selected to prevent over-voltage across the coil.  Marked diodes (*) will typically be 1N4148, and all others are 1N4004 or equivalent.  Be careful when you buy the relay - it must be a high-sensitivity type with a coil resistance of greater than 1k (at 12V).  You can see an example at Altronics (12V Telecom relay).  You can use anything similar, but it must include normally closed contacts.  R9 may need to be altered to ensure the relay pulls in reliably.  The relay I used has a 24V coil, but it's 100% reliable at 18V.

It's certainly possible to create a simpler delay circuit than the one shown (and I've done so), but it needs to ensure good meter protection.  The 4093 CMOS gate, a low-cost transistor and handful of other parts provide a very effective timer with easily adjusted on-time (via R7/ C7) and reliable AC detection.  To increase the delay, simply increase the value of R7 or C7.  A simpler circuit will be far less predictable than the one shown.


Before describing the calibration process, it's worthwhile to see how I built my unit.  Each gain module is separate from the others, with the input preamp being right next to the attenuator.  It's separated with a piece of blank PCB, with the copper side earthed to the primary grounding point - the lower screw that holds the wafer switch together.  The second stage is mounted to the side of the meter, with blank PCB forming a shield at the front and back of the module.

Finally, the meter amplifier (the first module I built and tested) is mounted directly to the meter input bolts.  It includes the relay.  This board needed no additional screening as it transpired, but I was prepared to attach a screen below the board if needed.  The circuitry may not look particularly 'pretty', but it's actually fairly easy to work on if that's ever needed.  The trimmer cap (C2) can be seen at the top left of the attenuator (small round trimmer), and the 3-stage 2nd attenuator trimpots are mounted on a small piece of Veroboard above the attenuator switch.

fig 11
Figure 11 - Inside View Of The Front Panel (Click Image For A Larger View)

Many pieces of test gear use trimpots for adjustment of gain and attenuation.  In this case there can be quite a few of them, so ensure that you mark them so you know which trimpot does what.  After a few years you'll want to check the calibration, and that will be very hard if you can't remember what each one does.  There's only one trimmer capacitor on the input attenuator, and that's adjusted with the 30mV range selected.  I suggest that you use a 1kHz squarewave input, and connect a scope to the output.  C2 is adjusted to get a perfect squarewave.  You can also use a high frequency sinewave (~60kHz is suggested).  Verify the level at 400Hz, change the frequency only to 60kHz, and adjust C2 until you have the same reading.  This requires an oscillator that has a very stable output level.

It's common practice to calibrate all levels set by trimpots at around 400Hz.  You need to be able to supply accurate levels at the voltages shown in the following table.

 Range Input Measure At... Adjust
 30mV 30mV ~ 3.0mV 2nd Attenuator Input 1st (20dB) Gain Stage
 30mV 30mV ~ 100mV Output 2nd (30dB) Gain Stage
 300mV 300mV ~ 306mV Meter Meter Amplifier
 10mV 10mV ~ 10mV Meter 2nd Attenuator VR3
 100mV 100mV ~ 100mV Meter 2nd Attenuator VR1
 300mV 300mV ~ 300mV Meter 2nd Attenuator VR2
 100mV 100mV p-p Squarewave Output C2 (Trimmer Cap)
Table 2 - Calibration

The symbol '~' indicates a 400Hz sinewave.  This should be used for all variable resistor calibrations.  The final step uses a 1kHz squarewave, and C2 is adjusted to get a perfect squarewave, with no leading-edge droop or peak (see the inset of Fig. 3).  The adjustments for VR1 to VR3 only apply if you used the trimpot option for the second attenuator, and didn't 'pre-calibrate' the three trimpots.  If fixed resistors were used it's assumed that these were selected to ensure exact 10dB steps.  I recommend that you still verify that the indicated readings are achieved, and you may need to tweak the attenuator if any readings are off by more than 1-2%.

Taking Measurements

The first 'rule' of using high-sensitivity test instruments is to ensure that an appropriate range is selected before you connect.  If you're measuring valve equipment with high voltages present, the range must be set for at least a few volts (e.g. 1V or higher) before you connect to the valve stage.  Failure to take this precaution may lead to destruction of the JFET (or opamp) in the first stage.  There are protective diodes, and they should prevent failure, but it's unwise to rely on them.  If you use a ×10 scope probe (discussed below) damage is highly unlikely.

This instrument is intended to be used to measure low voltage signals only.  It must never be used to measure mains voltages or any voltage exceeding 30V RMS.  The input capacitor provides isolation of DC (as found in valve amps for example) up to a maximum of 300V DC.  Attempting to measure anything higher is inherently dangerous.  While a 400V DC input cap has been specified, that's to provide a reasonable safety margin.  It does not mean that you should contemplate measuring voltages close to the maximum rating.  You can use a higher voltage cap, but I still don't recommend an nput greater than 300V DC.

Noise is always a problem with a wide bandwidth instrument.  There is some mitigation due to the capacitive divider in parallel with the main attenuator, but with medium to high source impedances, the noise level will be dominated by thermal noise.  Even a perfect amplifier (i.e. completely noiseless) will show noise, dependent on the source resistance.  This topic is covered in the article Noise In Audio Amplifiers.

When taking a measurement, it's important to understand the limitations of all millivoltmeters.  Unlike oscilloscopes, it's uncommon to use a ×10 probe, but this is the only way you can ever get an accurate reading at high frequencies even with a medium impedance source.  If we assume a lead capacitance of 100pF (roughly 1 metre of low-capacitance 50Ω coax), the response will be 3dB down at just 16kHz if the source impedance is 100k.  Higher impedances mean greater rolloff.  This is inevitable, and a scope with a ×1 probe is no different.  It makes no difference whether you use a 10MHz scope or one rated for 1GHz - the limitation is in the cable, not the instrument.

This is why ×10 probes are so common.  It's rarely because the circuit being tested can't tolerate a 1MΩ load, it's the 100pF or so of capacitance that's the killer.  I checked a more-or-less 'typical' switchable scope probe, and measured 95pF when set to ×1, and 15.7pF on the ×10 setting (connected to a scope).  The first attenuator in this project has a capacitance of 22pF (nominal), which is added to the cable capacitance.  This is in common with most scopes (15-25pF nominal is fairly typical) so if you need to measure high frequencies with a high-impedance source, use a ×10 scope probe.  It can be compensated with a squarewave by looking at the preamp output - see Oscilloscopes - Section 6 for information about the probes and high frequency compensation.  I have verified that a ×10 probe can be compensated properly with the millivoltmeter.

That means that you should dedicate a ×10 scope probe for use with the millivoltmeter.  The lowest range is raised to 3.16mV full scale.  For many other measurements you don't need to be too fussed by the cable (plus attenuator) capacitance, but even with a 600Ω output impedance, a 100pF lead will cause a (small) error at 250kHz.  Most audio oscillators have a 600Ω output impedance, and the error is noticeable.  There is a small error caused by the ×10 probe, because the meter's input impedance is not 1MΩ (it's 952kΩ).  The error is a bit under 5%, and can mostly be ignored.

This basically falls into the general category of 'stuff no-one tells you'.  The information is available, but only if you read the instruction manual for your scope and the probes.  It's fair to assume that most users don't read these, or if they do, not thoroughly.  As an AC millivoltmeter, this project is designed to extend to 250kHz, and you can easily accumulate some serious errors with high-impedance sources such as valve (vacuum tube) preamp stages.  Mostly, the circuits will only be tested at up to 30kHz or so, but if you don't use a ×10 probe, expect a significant error.  With a 270k plate resistor, 100pF of 'stray' capacitance means the -3dB frequency is only 5.9kHz, due only to the cable's capacitance.

Many commercial millivoltmeters have an input impedance of 10MΩ  This is completely pointless, because the input cable's capacitance is dominant, and high-accuracy measurements of high impedance circuits are not possible.  The 10MΩ input impedance also means that you can't use a scope probe, so the high impedance is not only pointless, but it also means that you can't use the one technique that will allow you to take a sensible measurement with high-impedance circuits (a ×10 probe).  I can only assume that someone, sometime, thought it was a good idea, but failed to think it through.

Note:  It is possible to use a tri-axial cable with the inner core carrying the signal, the first shield carrying a buffered 'copy' of the signal (known as a 'guard'), and the outer shield grounded as normal.  The guard effectively eliminates the capacitance (it's a form of bootstrap circuit), but it can cause instability if it's not done properly.  This is a very uncommon practice for 'general-purpose' test gear, and it's unlikely that you'll ever see it used.  It's also incompatible with a capacitively compensated voltage divider, because its capacitance will cause high-frequency loading that's independent of the cable.  This option wasn't considered, and there doesn't appear to be much on-line either.

fig 121
Figure 12 - 100kHz Squarewave, 300µV Range

The waveform shown was captured from the output connector, with the meter showing close to full scale on the 300µV range.  Because of the low input voltage and noisy workshop environment I had to apply averaging on the scope to get rid of random noise.  It's a pretty good representation of a squarewave at 100kHz for an analogue meter designed for 250kHz operation.  At lower frequencies (e.g. 10kHz) the squarewave is close to perfect.  There is a reading error with a squarewave because the meter is not true-RMS.  The error for a squarewave is +11.1%.  Note that the scope's input voltage is 80mV, not 800mV (it's set up for a ×10 probe).


Test equipment is always a 'special' case for circuitry.  Things often have to be done differently to get the performance you want, and accuracy has to be better than is ever needed for hi-if.  Low noise is a common requirement, but very high linearity (i.e. low distortion) isn't essential in most test gear.  Metering amplifiers are always difficult, with compromises that you don't find anywhere else.  The non-linear load (caused by the rectifier diodes) poses a 'special' challenge, and doubly so if you expect response beyond 100kHz or so.

Predictably, you need a way to measure the results for calibration.  This will generally be an oscilloscope, but a digital multimeter may be ok when looking at voltages over 300mV or so, and at no more than 400Hz.  Most calibration will be performed on each module as it's built and tested, but a final check of all levels is also necessary.  If your signal source doesn't go past 50kHz or so (most exceed that) then setting up for wide bandwidth isn't necessary.  If at all possible, I recommend that you strive for at least 250kHz.

Test gear can also be subjected to abuse, usually by accident, but it should survive.  This is a serious compromise though, as good protection can degrade performance, particularly noise.  For example, the first preamp could use a 1k input resistor that would improve protection, but that would degrade the noise performance.  The 2.7k input resistor (R1 in Fig. 2 and Fig. 4) degrades noise performance too, but it's necessary to prevent oscillation if the signal source has a very low impedance.  When one is trying to measure signals at perhaps 100µV, a few extra microvolts of noise is inevitable.  However, we also have to accept that some noise is unavoidable - even if you're prepared to shell out some serious money for an AD797 (the quietest opamp I know of).

This is an ambitious project, and it's one that I'd been contemplating for some time.  When I finally made the decision to start the design, the reasons that I'd been putting it off were quickly revealed.  It's been a bit of an adventure into circuitry that I haven't played with for some time, with the metering amplifier being one of the most difficult to get right.  Several circuits were tested (including the original P16 meter amp) but were found lacking the performance I was after.  As a project it's not going to be cheap, but it is capable of very good performance that should give many years of service.

Even if you never build the project, there are plenty of things you'll find interesting within the circuits described.  It's likely that some readers will see opportunities to re-purpose parts of the circuit, and there's always a lot to learn from the descriptions/ explanations provided for the various modules.


Suitable references are few and far between.  I looked at a number of commercial designs, but nothing really stood out as being worthwhile.  One can always get ideas from service manuals, but most are not amenable to home (Veroboard) construction due to (often extreme) complexity.  Having PCBs made wasn't an option, as the demand will be negligible, and limited production PCBs are too expensive.

There are countless examples of 'audio millivoltmeters' on the Net, but very few are designed for high sensitivity, low noise and wide bandwidth.  Most that you'll see are decidedly 'under-developed', and in far too many cases are seriously flawed.  Very few even come close to my original Project 16 design.  The primary references are from other ESP articles/ projects ...


HomeMain Index projectsProjects Index

Copyright Notice.This article, including but not limited to all text and diagrams, is the intellectual property of Rod Elliott, and is © 2023.  Reproduction or re-publication by any means whatsoever, whether electronic, mechanical or electro-mechanical, is strictly prohibited under International Copyright laws.  The author (Rod Elliott) grants the reader the right to use this information for personal use only, and further allows that one (1) copy may be made for reference while constructing the project.  Commercial use is prohibited without express written authorisation from Rod Elliott.
Change Log:  Page Created and © Rod Elliott, February 2023.