100nF

Rev.

RS-485 termination: when 120 Ω helps and when it just costs you

Where the 120 Ω comes from, the loop-time test that decides if you need it, AC termination as a data-rate trade, and how failsafe bias eats your node budget.

Most RS-485 problems that get blamed on noise are termination problems: none where there should be some, some where there should be none, or the right value in the wrong place. The standard is old and forgiving enough that a bus will usually half-work either way, which is what makes it hard to debug.

An RS-485 bus: a twisted-pair trunk with a 120-ohm terminator at each end, four nodes hanging off it on short stubs, and a pull-up/pull-down failsafe bias network at one node.
Fig 1 — The topology the standard assumes. One trunk, a terminator at each far end, and stubs short enough not to matter. Bias resistors belong at exactly one node, and they spend unit loads.

Where 120 Ω comes from: the cable’s characteristic impedance

It is not a magic number and it is not really about the transceiver. Twisted-pair cable has a differential-mode characteristic impedance set by wire gauge, insulation type and thickness, and the number of twists per unit length. For the cable types RS-485 was written around, that lands somewhere between 100 Ω and 150 Ω. The standard picked 120 Ω as nominal, and the terminator matches the cable, not the driver (TI SSZTB23).

So the terminator’s value is a property of the cable you bought. If you are running 100 Ω cable, 120 Ω resistors are already a mismatch — small, but yours to account for rather than inherit.

This also explains the load the standard budgets for. A compliant driver has to deliver 1.5 V across 32 unit loads and two 120 Ω terminations — the two terminators in parallel are 60 Ω, which is most of what the driver is working against.

The test for whether you need it at all

Termination exists to stop reflections interfering with the bits behind them. The reflection coefficient at any discontinuity is the familiar

Γ=ZL−ZSZL+ZS\Gamma = \frac{Z_L - Z_S}{Z_L + Z_S}

and an unterminated end is a near-total reflection: for a 96 kΩ unterminated node on a 120 Ω line, Γ ≈ +0.997. Almost all of the energy comes back.

That sounds fatal, and at high data rates it is. But the reflection does not persist — it bounces between the two ends losing energy at each imperfect reflection, and the useful question is whether it has decayed below the point of mattering before the receiver samples the bit.

TI works the case: a 96 kΩ unterminated end against a 60 Ω driver.

A bar chart of reflected amplitude against reflection number, decaying from 100 percent toward under 4 percent by the sixth reflection, with the bit sample point marked after the sixth bar: the receiver samples at 50 to 75 percent of the bit, once all three round trips have completed.
Fig 2 — An unterminated bus does settle; the question is only whether it settles before the sample point. TI's worked case reaches under 4 % by the sixth reflection, and the condition is that all six are finished before the receiver samples the bit.

By the sixth reflection — three round trips — the disturbance is under 4 % of the original, which is comfortably below anything that will flip a bit. Since receivers typically sample between 50 % and 75 % of the way through a bit, the condition is that three round trips fit before the sample point.

The rule of thumb that falls out is the one worth remembering: you can leave the bus unterminated when the two-way loop time is much shorter than one bit time, roughly

tloop<0.1×tBITt_{loop} < 0.1 \times t_{BIT}

A 9600 baud bus has a 104 µs bit time. Ten microseconds of loop time is about a kilometre of cable. At 9600 baud, on any bus that fits in a building, termination is not doing anything for signal integrity — it is only loading your driver.

At 10 Mbps the bit time is 100 ns, the budget is 10 ns, and you are terminating.

What termination costs

The reason not to terminate is not the two resistors. It is that a standard parallel termination is a DC load whenever the driver is active. Two 120 Ω resistors in parallel is 60 Ω across a 1.5 V minimum differential — tens of milliamps, continuously, for as long as anything is transmitting. On a mains-powered industrial bus nobody cares. On a battery-powered sensor network it can dominate the transmit energy budget.

That is what AC termination is for: put a capacitor in series with the 120 Ω, and the steady-state current goes to zero while the resistor still absorbs the edge. The cost is that the RC time constant slows the rising and falling edges, which puts a ceiling on data rate. TI summarise the three options:

SchemePowerData rateSignal integrity
NoneLowHighGood at low rates, poor at high
Standard (parallel)HighHighGreat
AC (series R–C)LowMediumGood

There is no free option, only three different things to spend.

How to terminate an RS-485 cable: two terminators, exactly two

The most common failure is a terminator on every node, usually because each board has a termination jumper and someone fitted them all. Six nodes with jumpers fitted is six 120 Ω resistors in parallel — 20 Ω — against a driver specified to work into 60 Ω. The bus does not stop working; the differential swing collapses toward the receiver threshold and the error rate becomes a function of cable length and temperature, which is a miserable thing to chase.

Terminate the two electrical ends of the trunk, and nothing else. A node in the middle of the bus never gets one, even if it is the master.

Stubs: how far a node can sit off the trunk

Every drop off the trunk is an unterminated transmission line of its own. It stays harmless while it is electrically short, and TI give the limit (SLLA272):

Lstub≤tr⋅v⋅c10L_{stub} \le \frac{t_r \cdot v \cdot c}{10}

with t_r the driver’s 10–90 % rise time, v the cable’s velocity factor (0.78 is typical) and c = 9.8 × 10⁸ ft/s. The rise time — not the data rate — is what sets it. A slew-rate-limited transceiver intended for 100 kbps might have a 1 µs edge, which allows a stub of 1000 ns × 0.78 × 0.98 ft/ns / 10 ≈ 76 ft (about 23 m) — room to hang a node off the trunk from across a room. A 10 Mbps part with a 10 ns edge gives you 0.76 ft, about 9 inches. SLLA272’s own table lands in between: 38 ft for a 500 ns edge.

This is the argument for choosing the slowest transceiver that will carry your data rate. A slow edge is not a compromise; it is what buys you the freedom to put nodes where the machine needs them. The RS-485 calculator works the stub limit and the termination decision from the rise time and bus length.

Failsafe bias is not free

When every driver is disabled, the bus floats. A floating differential pair sits near zero volts differential, which is exactly the receiver’s threshold, so noise decides the output and the UART sees framing errors or a stream of garbage.

The fix is a pull-up on A and a pull-down on B to hold the idle line at a defined level. The part people miss is the bill. From TI SLLA166A:

The resistor values used for this fail-safe termination are approximately 1 kΩ. If so, this termination consumes 12 Unit Loads (12 mA at 12 V) out of the budget of 32 Unit Loads.

A unit load is roughly a 12 kΩ load, and the standard budgets 32 of them. A 1 kΩ bias network spends twelve — more than a third of the whole bus budget — leaving 20 for actual transceivers. TI point out that if you still want 48 nodes on that bus, each one must now be no more than 0.42 UL.

That is survivable, because modern transceivers are commonly ⅛ UL, which is what allows buses of up to 256 nodes in the first place. But it has to be counted. And like the terminators, the bias network belongs at one node — usually wherever the master is — not on every board that happens to have the footprint.

Some transceivers advertise built-in failsafe receivers, which bias the receiver input internally so an open or shorted bus reads as a defined idle. If your parts have it, you do not need external bias resistors at all, and you get your twelve unit loads back.

The order to check things in

Assuming the bus works at all. If it shows nothing whatever — no idle level, no edges, no response from any node — that is a bring-up problem rather than a termination one, and no resistor value is the answer.

  1. How many terminators are actually fitted? Measure it: power everything down and put a meter across A–B. You should read about 60 Ω. If you read 20 Ω, somebody fitted jumpers.
  2. Is the bus a trunk, or a star? A star has no two ends to terminate, and no amount of resistor value will fix it.
  3. How long are the stubs, against the driver’s rise time? Not against the baud rate.
  4. Does the idle bus sit at a defined level? If not, add bias at one node, or choose a transceiver with internal failsafe.
  5. Only then worry about the resistor value.

Sources

Updates

  • 2026-09-13 — Corrected the stub-length example: by the formula above a 1 µs edge allows a stub of about 76 ft, not “hundreds of feet”; the 10 ns case is about 9 in.
  • 2026-09-13 — Fig 2 now places the sample-point window after the sixth reflection, which is the condition the text states; it was drawn over reflections 4 and 5. Fig 1 redrawn with the bias network on a node rather than on the trunk, and the TI table row now reads “Great” as SSZTB23 has it.