DEV Community

TinkerNews
TinkerNews

Posted on

Reading SMD resistor codes without guessing

A 0603 resistor falls off the tweezers and lands face up, and the marking is
472. That is either 4.7k or 47k depending on which digit your eye decides is
the multiplier. Two minutes later you have measured the wrong one and the divider
is off by a factor of ten.

The codes are arithmetic, except when they are not. Three systems cover almost
everything on a hobby bench, and each fails in its own way.

The three digit code

Three digits: the first two are the value, the third is how many zeros to add.

  • 472 is 47 followed by two zeros: 4,700 ohms, 4.7k.
  • 103 is 10 followed by three zeros: 10,000 ohms, 10k.
  • 221 is 220 ohms.
  • 100 is 10 ohms, because zero zeros is a real answer.

This is the most common marking on cheap parts, and it is usually a 5 percent
part.

The four digit code

Four digits, same idea with three significant figures: 1002 is 100 followed by
two zeros, 10k. 4991 is 4.99k. You see this on 1 percent parts, which is the
first reason to care which system you are reading.

Letter notation for values under 100 ohms

When there is no room for a multiplier that makes sense, the letter takes the
decimal point's place.

  • 4R7 is 4.7 ohms.
  • R47 is 0.47 ohms.
  • 0R0 is a zero ohm link, which is a jumper wearing a resistor costume.

The EIA-96 code, and why it looks wrong

The one that catches people is a two digit code plus a letter on a 1 percent
0603: 01C, 68X, 30B.

Here the digits are not the value. They are an index into a 96 entry table, and
the letter is a decade multiplier:

  • A is times 1, B times 10, C times 100, D times 1,000.
  • Below A the multipliers go fractional: X is 0.1, Y is 0.01, Z is 0.001.

So 01C is the table value for 01, which is 100, times 100: 10,000 ohms.

If you try to read 01C as arithmetic you get nonsense, because there is no
arithmetic to do. That is the whole trick, and it is why "just multiply the
digits" advice produces a divider that reads 0.01 ohms and a very confused
evening.

Checking by measurement, which still matters

A meter beats a code, but only if you read it honestly:

  • In circuit, expect low. A resistor in parallel with anything reads below its own value. If 10k reads 6.8k, the part is probably fine and you are measuring its neighbours.
  • Below 1 ohm, subtract the leads. Probe resistance is a real number, and on a 0.47 ohm part it is a large fraction of the reading.
  • A code with no marking at all is a real state: some manufacturers omit it on small packages. Measure, then mark the drawer yourself.
  • Tolerance covers the rest. A 222 on a 5 percent part may read 209 ohms and still be in spec, which is why replacing parts on a meter reading alone throws away good components.

The tool

I keep a free code reader at tinkernews.com/tools/smd-resistor-code-calculator
that handles all three systems, including the EIA-96 table, and shows the nearest
standard E24 or E96 value when the code you typed is not a part you can buy.
Disclosure: I built it, and it is free with no signup.

The arithmetic is also in a small library at
github.com/tinkernews/electronics-tools
if you would rather call it from a script than open a page.

Top comments (0)