In short: RS-485 sends each bit as a voltage difference between two wires on a shared, terminated, biased twisted pair, letting up to 32 unit loads (256 with modern low-load parts) talk half-duplex over as much as 1200 m at low data rates.
Why RS-485 exists
Single-ended links such as RS-232 measure a wire against a shared ground. Over a factory floor that reference is a lie: motors, drives and welders push ground potential around by several volts, and the error lands directly on your signal. RS-485, standardised as TIA/EIA-485-A, fixes this by carrying every bit on a pair of wires and letting the receiver look only at the difference. It is the physical layer under Modbus RTU, Profibus DP, DMX512, BACnet MS/TP and countless building and energy meters. For a side-by-side with its older cousin, read our RS-485 vs RS-232 comparison.
Differential signalling: why it rejects noise
The driver pushes one line (A) up while pulling the other (B) down. The receiver outputs a logic level from the sign of VA minus VB. The decision threshold is only ±200 mV, but the driver delivers at least 1.5 V into the loaded bus, so there is wide margin.
Noise couples almost equally into both conductors of a twisted pair, because they share the same field and lie physically together. That common-mode noise cancels in the subtraction. The standard allows a common-mode range of -7 V to +12 V, which is why a 5 V transceiver survives ground offsets that would destroy an RS-232 port.
Key fact: Receiver sensitivity is ±200 mV, driver output is at least 1.5 V across a 54 Ω load, and the allowed common-mode window is -7 V to +12 V.
Half-duplex multi-drop topology
A classic RS-485 network is two wires shared by every node. Only one driver may be enabled at a time; everyone else keeps its driver in high-impedance and listens. A microcontroller typically ties the DE (driver enable) and /RE (receiver enable) pins together and drives them from a GPIO: high to transmit, low to receive. Chips like the MAX485 or TI SN65HVD72 are the usual parts.
Firmware discipline matters more than people expect. You must release the bus only after the last stop bit has fully left the shift register, not when the UART buffer is empty. Dropping DE one byte early truncates the frame; leaving it high too long collides with the reply from the slave. Protocols such as Modbus RTU enforce a 3.5-character silent gap so every node agrees where a frame ends.
Full-duplex 4-wire RS-422-style wiring exists too, with a master transmit pair and a receive pair, but the 2-wire multi-drop bus is what most people mean by RS-485.
The 32-node limit and unit loads
The original standard defines a unit load (UL) as the loading of a 12 kΩ receiver input. A driver must be able to drive 32 UL on the bus, which gave the famous “32 nodes” figure. Modern transceivers have far higher input resistance: 1/2 UL (24 kΩ), 1/4 UL, or 1/8 UL (96 kΩ), so a single bus can host up to 256 nodes. The sum matters, not the node count: mix 1 UL and 1/8 UL parts and add the fractions.
| Receiver type | Input resistance | Max nodes |
|---|---|---|
| 1 UL (classic) | 12 kΩ | 32 |
| 1/2 UL | 24 kΩ | 64 |
| 1/4 UL | 48 kΩ | 128 |
| 1/8 UL | 96 kΩ | 256 |
Repeaters and isolated nodes split a large installation into segments, each with its own load budget.
Termination: stopping reflections
At 1200 m a signal edge is a travelling wave on a transmission line with a characteristic impedance of about 120 Ω for typical twisted pair such as Cat5 or RS-485 specific cable. If a wave arrives at an open end, it reflects, comes back and corrupts later bits. The cure is a 120 Ω resistor across A and B at the two physical ends of the bus, and nowhere else.
- Terminate only at the two extremes of the cable, never at mid-bus nodes.
- Keep stubs short, ideally a few centimetres; a long drop acts as an unterminated branch and reflects.
- Use daisy-chain wiring, not star. A star creates several ends and no place to put the resistors.
- Two 120 Ω resistors in parallel give 60 Ω, which with the 1.5 V minimum drive spec gives the 54 Ω test load.
Rule of thumb: terminate when the round-trip delay is longer than about a third of the bit rise time. At 9600 baud over 10 m you could often skip it; at 1 Mbps on 100 m you cannot. Designers verify this in simulation using Spectre or HSPICE transmission-line models, or board-level tools such as Siemens HyperLynx, before building hardware.
Bias and fail-safe: the idle-bus problem
When every driver is in high-impedance, the terminators pull A and B to the same voltage. The differential input is then about 0 V, inside the ±200 mV dead zone, and the receiver output is undefined. Noise toggles it, and your UART sees phantom start bits and framing errors.
Bias resistors force a known idle state. A pull-up on A and a pull-down on B create a standing differential voltage of at least 200 mV. With 560 Ω each on a 5 V supply and the 60 Ω loaded bus, current is about 4.2 mA and the idle differential is roughly 250 mV, a comfortable margin. Apply bias at one place (usually the master); duplicating it at every node lowers bus resistance and overloads the drivers.
Many modern transceivers are built with a fail-safe receiver whose threshold is shifted to -200 mV/-50 mV, so an idle or shorted bus reads as logic 1 without any external bias. Check the datasheet before adding resistors you may not need.
Key fact: Terminate at both ends only (120 Ω), bias at one point only (about 560 Ω pull-up/pull-down). Getting these backwards is the most common field fault.
Reach, speed, and the 1200 m figure
The 1200 m (4000 ft) number is not a promise; it is a ceiling at low speed. Cable resistance and capacitance round the edges until bits overlap. The classic rule of thumb is that the product of length and data rate stays under about 108 m·bit/s, so roughly 100 kbps at 1200 m, 1 Mbps at about 100 m, and 10 Mbps at about 12 m. Real values depend on cable capacitance (about 40-50 pF/m for good pair), driver slew rate and receiver quality.
Practical design checklist
- Use shielded twisted pair and ground the shield at one end to avoid ground loops.
- Add TVS diodes and series resistors for surge protection; industrial ports see lightning and ESD.
- Choose isolated transceivers where node grounds differ by more than the -7 to +12 V window.
- Add a common-mode return or ground wire, or a 100 Ω resistor to local ground, so the common-mode limit is not exceeded.
- Pick a protocol layer with CRC; RS-485 itself defines only electrical levels, not framing. See Modbus RTU explained for a real example.
If you design the transceiver silicon itself, such as a low-power I/O cell with fail-safe receiver, simulation in Cadence Virtuoso with Spectre, and sign-off with Synopsys PrimeTime, is the normal flow. Teams that need that expertise on an SoC often turn to specialists like Avecas VLSI design services. To build fundamentals first, browse our CourseTron courses.
Want to go from reading about buses to building them? Join the CourseTron embedded and VLSI courses and practise RS-485, UART and Modbus with real hardware exercises. Explore the courses.
FAQ
Why is RS-485 limited to 32 nodes?
Because the original spec assumed each receiver loads the bus like 12 kΩ (one unit load) and the driver could handle 32 of them. Newer 1/8 unit load transceivers allow up to 256 nodes.
Do I need termination on a short bus?
At low baud rates and a few metres, often not. As speed or length grows, reflections matter, so place 120 Ω at both physical ends of the bus.
What do bias resistors do?
They hold the idle bus at a differential voltage above 200 mV so receivers read a clean logic 1 rather than random noise when no driver is active.
Is RS-485 full-duplex?
The common 2-wire form is half-duplex. A 4-wire arrangement separates transmit and receive pairs and gives full-duplex, usually in master-slave systems.