Hand-Matching Resistors to Tighter Tolerances

Resistors vary in value from their labeled values according to their tolerance rating. A 1% 1 kΩ resistor can be up to 10 Ω off and still be in tolerance. This can result in audible mismatches between the stereo channels in an audio circuit. Just as one example, you can get 1 dB of stereo mismatch in the CMoy Pocket Amplifier if the stock gain resistors have the worst-case spread allowed in 1% resistors. To be sure, this is hardly the end of the world, but it is enough to be audible to trained ears, and other errors in the system could combine with it to make it audible even to untrained ears.

What matters in most audio circuits is not the absolute values of the resistors, but the ratios of the corresponding resistors in each stereo channel. It’s usually better that the stereo pairs be less than 1% away from each other than for any particular resistor to be within 1% of the value specified in the schematic. For instance, if the schematic calls for a 3.24 kΩ resistor, and you had a choice between two unmatched 3.24 kΩ resistors and a matched pair of 3.32 kΩ resistors, the latter is probably the better choice, even though the value is over 2% higher than specified. This isn’t true of all circuits, but it is the common case.

If resistors better than 1% tolerance are justified but the absolute value is not greatly important, what advantage can we get from this? You can readily buy 0.1% resistors, but they’ll cost you twenty times more than you’d pay for an otherwise equivalent 1% resistor, if not more. If our time is inexpensive and we have the equipment for it, this means we can meet our goals with less cost simply by buying more parts than we need and hand-matching them.

The key questions then are, how much effort will it take, and what equipment do we need to make this practical?

How Many Tries Does It Take to Get a Good Pair?

In principle, it’s simple to answer the first question with a Monte Carlo simulation. The simulator simply picks random values within a given percentage around the nominal value until it finds a pair within some tighter percentage range. It remembers how many tries it took to get that pair, and repeats the process enough times that you get a good stable picture of the probabilities.

There are a couple of subtleties that should be taken care of, however.

The biggie is that simple random numbers have an equal probability of being anywhere in the range you’ve set up. (Technically speaking, they have a rectangular probability distribution.) Real resistors don’t behave like that, however. For any given manufacturing batch, the resistors will tend to cluster around a single central value. This generally results in a Gaussian distribution. The chance of getting a resistor right on the border of the tolerance range is very slim: in the vast majority of cases, the resistor values will be close to the nominal value.

Another consideration is that some of the resistors will inevitably be out of spec. I have no data on our resistor manufacturers’ production quality, and the electronics industry tends toward perfection, so I’m going to assume the best. There’s a quality methodology called Six Sigma that in this context says you should have less than 3.4 out of spec resistors per million manufactured.

With all that in mind, I created a model of resistor manufacture and hand-matching in Mathematica: resmatch.nb, 28 KB. (Requires Mathematica 6 or higher.)

Later, Bart Lauret converted the Mathematica version to R for me, which I then tweaked. (resmatch.R, 12 KB). Not only is R free, so that anyone can fiddle with the simulation, it’s a bit easier to re-run the simulation in this version with different parameters than with the Mathematica version. After loading it up into your copy of R, you can say things like resmatch(handTol=0.01/100) to make it look for 0.01% matches instead of the default 0.1%. There are many more options, all explained at the top of the file.

Both the Mathematica and R simulations are functionally equivalent. These simulators generate a random batch of resistors according to the rules laid out above, then they repeatedly draw resistors from that set until they find a suitable pair. They repeat this thousands of times, then make some pretty graphs of the results.

Bottom line, this model says you have about a 90% chance of matching 1% resistors to within 0.1% in 6 draws, 95% in 7 draws, and 99% in 8 draws:

draws to get 0.1% from 1%

This agrees pretty well with my experience using Vishay Dale RN/CMF series resistors.

The only factor that the model doesn’t take into account is that clustering tends to vary depending on the value, at least with the Vishays. The power of 10 values (1 kΩ, 10 kΩ, 100 kΩ, etc.) have the tightest clustering around the nominal value, and this spreads out the farther you get from the next lower power of 10. As a result, picking power of 10 values has a very high chance of getting a good match in the first pair, as long as you’re drawing from the same manufacturing batch. If you draw from different batches, you’re effectively overlaying two Gaussian distributions with different mean values on top of each other, so the spread widens.

8 draws is pretty much at my limit of patience, so I draw the line at hand-matching 1% resistors to within 0.1%. If you’re willing to make more tries, load up one of the simulators and fiddle with its values. It can be fun to try silly things, like asking the simulator how many tries it will take to match 5% resistors to 0.01% tolerance.

What Kind of Meter Do You Need to Do This?

It should come as no surprise that a cheap Radio Shack meter isn’t accurate enough to match resistors to within 0.1%. It’s reasonable to ask, what is the cheapest meter that will do it?

Fluke has a good reputation for accuracy, so let’s look at the Fluke 175, the cheapest of the 170 series, at about $220 US. This is a 6,000 count meter, which means that in any of the DMM’s ranges, it can discern among 6,000 values. Unfortunately, that’s not enough. Let’s consider the second range on this meter, which goes from 600 Ω to 6 kΩ. 6,000 counts means the meter can measure down to 1 Ω in this range. Dividing that by 0.1%, you get 1 kΩ. That means the meter cannot make an 0.1% match between 600 Ω and 999 Ω. The resolution just isn’t there.

Okay, clearly we need to bite the bullet and step up. In Fluke’s line, the next step up in accuracy is the 87 V, a kind of throwback to an earlier time at Fluke, but still available because it was so popular it became a de facto standard in some organizations. What do we get for our additional $100? In its default operating mode, it is a 6,000 count meter like the 170 series, but it also has a 20,000 count “HiRes” mode that trades speed for accuracy. Continuing the 1 kΩ example, a Fluke 87 V in HiRes mode would use the 6 kΩ range, which has a resolution of 0.3 Ω. Therefore, we have about 3× the resolution we need to match 1 kΩ resistors to within 0.1%. Even down at the bottom of the range, we still have 2× the resolution we need to make the match. So far so good.

We also have to consider drift: a DMM won’t give the same measurement for the same resistor over time, even if the resistor doesn’t change, because the components within the meter do drift over time. The 6 kΩ range on our Fluke 87 V has a long-term (1 year) accuracy spec of 0.2% of the reading — 2 Ω for our 1 kΩ matching example — plus one count, or 0.3 Ω in this range. That is, over a year, a measurement of a 1 kΩ resistor could be ±2.3 Ω off of the actual value, and the meter would still be in spec. Since this is the only spec Fluke gives, you could say that because we cannot do an 0.1% match (±1 Ω) long-term, we have no basis for using such a meter to make a short-term 0.1% match, either. The meter could experience the full legal drift range in the time it takes you to measure two resistors.

In practice that isn’t going to happen. Drift is a random walk sort of phenomenon, so it builds up over time. To cope with this, an honestly designed meter has to have much better short-term drift than its 1-year spec indicates. For a Fluke 87 V to incorrectly indicate that two 1 kΩ resistors are within 0.1%, it would have to have a short-term drift of 43% of its theoretical max. Since we trust Fluke quality, it is unreasonable to suppose that this ever happens, else it would likely fall out of spec frequently with that kind of short term drift. It is common, however, for cheap no-name meters to have the same front-page specs as a Fluke (e.g. 4½ digit, 20,000 count...) but worse accuracy specs buried in the manual, if they’re available at all. One such meter I looked at would have to drift only 19% of its specified max to give a mismatch on this 1 kΩ example we’ve been discussing.

According to one experienced metrologist I’ve corresponded with, cheaper meters can drift as much as 25% of their maximum in closely-spaced measurements. That puts the 19% calculated value above for the cheapie meter in the danger range, and the Fluke way outside it. The difference in price between two such meters can be 2×, but when you consider matters like drift and durability, the price delta is well worth paying. (For more on this topic, see my article How to Buy a Multimeter.)

I don’t mean to try and talk you into buying a Fluke 87 V, specifically. It’s a fine meter, but there are many other fine meters from Fluke and other companies.

What do you need to look for, then, if your goal is 0.1% matching? The most important spec is that it be a 10,000 count meter, or it won’t have enough resolution to make the match at all. Going with the 25% rule, the meter’s total accuracy must be ±0.4% for the smallest resistor value you want to match.

For instance, you might also consider the Fluke 287. In addition to all its many other features over the throwback 87 V design, it is a 50,000 count meter, and that full-time, no hokey “HiRes” mode stuff. The numbers for our 1 kΩ example come out to a short-term accuracy of ±0.7 Ω, just under our target of ±1 Ω. As you approach the lower extremes of this meters ranges, you again get into a situation where you technically cannot make a 0.1% match, but since the meter’s basic accuracy is even higher than for the 87 V, the drift argument holds to an even greater degree.

Getting a Little Crazy...

What if we wanted to be able to match resistors to within 0.1% long-term, too? What kind of meter would we have to get to do that?

In my opinion, the smallest useful step up from the Fluke handheld meters discussed above is the Agilent 34405A bench meter. Anything in between just doesn’t have enough features to make it worth the jump, or is compromised in other ways. It costs around twice as much as for the handheld Flukes, but the specs say we can get 1-year 0.1% matches for any resistor between 0.16 Ω and 1 MΩ!

The main problem with this is that you must use very good technique and the meter has to be on its slowest measurement mode to achieve this. If you’re willing to pay a little more, you can achieve the same accuracy in less time and with less attention paid to technique. How is this possible?

When you put a typical meter on the resistance setting, it connects a constant current source to its measurement leads. This converts the resistance measurement into a voltage measurement: Ohm’s Law says that if you know the current and you can measure the voltage, you know the resistance. The problem is, there is some extra resistance in the measurement wires themselves, plus some variable contact resistance at both ends of the wires. Any decent meter will let you null out the wire resistance, but the variable contact resistance will still throw off the measurement. If our goal is 0.1% matching, even 0.1 Ω is too much: that’s 0.1% of 100 Ω all by itself.

The solution to this is 4-wire measurement. The extra wires let you give the two parts of the process above dedicated wires: the constant current is forced through one pair, and the voltage measurement is taken with the other pair. How does this help? Since the whole point of a constant current source is that it’s constant regardless of any resistance in its path, the extra wire and contact resistance on the current forcing pair is irrelevant. And since a DMM’s voltage measurement function has a high input impedance, the extra wire and contact resistance on the measurement pair is too small to matter. The measurement’s accuracy is limited only by factors internal to the meter.

The cheapest meter I’d consider that has 4-wire measurement is the Fluke 8845A, at just under $1,000 US. The only thing I don’t like about this meter is that it lacks temperature and capacitance measurement. For that, Fluke wants you to step up to the 8846A, but Agilent offers that in the cheaper 34410A. On the other hand, the new Flukes have a better display and slightly better accuracy at the extremes of measurement. One way to look at it is that Agilent and Fluke have interleaved their lines, at roughly $200 spacing. There are no direct competitors among them: you can get fewer features for less cost, or more features for greater cost. You just have to decide where you get the price per feature ratio you need.

You might be wondering what exists above the Fluke 8846A. I’ve stopped here because the price per feature ratio gets truly crazy beyond this point. This site caters to hobbyists and I’ve already blown past the bulk of hobbyists’ price ranges. You’d have to be quite an exceptional hobbyist to be in the market for anything above this point.

There are makers of cheaper bench instruments than the Agilent and Fluke units I’ve profiled above, but I don’t have confidence in any of them. Even the cheapest of these costs more than a Fluke 287. I’m willing to gamble a little up to roughly $300. Beyond that level, I need to be absolutely certain of the unit’s quality before I buy it.

For Further Information

This article simplifies the issue of long-term drift, since being more accurate wouldn’t change the conclusions. There is a good thread on Head-Fi, started by a professional metrologist, which covers this issue in more detail.

A good article showing how to read DMM specs is “Reading the Fine Print in a DMM Specification” by Tom Lecklider in Evaluation Engineering Magazine.

If you’re trying to match resistors with a tolerance of 10% or lower, beware that there’s a trap there for the unwary. Howard Johnson wrote a nice article for EDN on how he fell into that trap once, the “7% Solution.”


This article is copyright © 2006-2016 by Warren Young, all rights reserved.

Updated Tue Jan 26 2016 23:49 MST Go back to Audiologica Go to my home page