Most intermittent Modbus problems on a plant floor are not protocol bugs. They are physical-layer faults: a swapped A/B pair, a missing 120-ohm terminator, a star topology that should have been a daisy chain, or a ground loop quietly destroying receivers. RS-485 (formally EIA/TIA-485-A) is a robust differential bus, but it punishes sloppy wiring with errors that appear only under load, temperature, or motor switching, which makes them maddening to chase. This guide walks through the seven faults we see most often in the field, each with its electrical cause and a concrete fix.
How RS-485 Actually Works (the 60-Second Version)
RS-485 transmits each bit as a voltage difference between two conductors, labeled A and B (also printed as D+ and D- on many devices). The receiver decides the logic state from the sign of the differential voltage between the two lines: a difference beyond roughly +200 mV is one state, beyond -200 mV is the other. One critical caveat for commissioning: the labeling of A/B and +/- is notoriously inconsistent between vendors (some swap the A and B names, some print only + and -), so never assume two devices agree on naming. That ambiguity is the source of Fault 1 below. Because both wires pick up nearly identical noise, that common-mode interference cancels at the differential receiver, which is why RS-485 survives long cable runs in electrically hostile environments. The standard allows up to 32 unit loads on a segment and a maximum cable length of about 1200 m (4000 ft) at low baud rates, with the length-versus-speed tradeoff being the central design constraint. Get the physical layer right and the bus is nearly bulletproof. Get it wrong and you fight ghosts.
Fault 1: Swapped or Inconsistent A/B Polarity
The single most common commissioning fault. One vendor labels the inverting line A and the non-inverting line B; another reverses the convention; a third prints + and – with no A/B at all. Wire two such devices straight-through and the pairs are crossed, so the bus is silent or returns nothing but framing errors and CRC failures.
Fix: Treat the data pair as polarized end to end. Pick one device as your reference, confirm which physical terminal is the non-inverting line, and keep that same conductor color on the same terminal at every drop. If a device will not talk and everything else checks out, swap the two data wires at that node before assuming the device is dead. A 9600 baud handshake will start working the instant polarity is correct.
Fault 2: Wrong Cable, or Pair and Shield Mixed Up
RS-485 relies on the two data conductors being a tightly twisted pair with a defined characteristic impedance, typically 120 ohms. Using untwisted conductors, splitting the pair across two separate cables, or routing the data signal on a random pair in a multi-pair cable destroys the impedance match and the common-mode rejection that makes the bus work.
Fix: Use shielded twisted-pair (STP) rated near 120 ohms, such as a Belden 9841-class cable, and keep A and B on the same twisted pair. Run a third conductor (or a dedicated pair) as the signal common/reference, and use the shield only for shielding, grounded at one end (see Fault 6). For a deeper treatment of why pairing and impedance matter, see our guide on troubleshooting Modbus communication errors.
Fault 3: Star or Branch Topology Instead of a Daisy Chain
RS-485 is a linear bus: device to device to device, a single backbone with both ends terminated. A star (home-run) wiring scheme, where every device gets its own cable back to a central point, looks tidy in a panel but is electrically wrong. Each branch creates an unterminated stub that reflects signal energy back onto the bus, and you cannot terminate more than the two physical ends of a true line.
Fix: Re-wire as a single daisy chain. Bring the cable into each device on one terminal pair and back out on the next, so the trunk passes through every node. Where physical star wiring is unavoidable, use an active RS-485 repeater or hub that terminates each spoke, rather than paralleling raw stubs.
Fault 4: Missing or Doubled Termination Resistors
At high baud rates and long runs, an unterminated line reflects the signal edge, corrupting the bit that follows. The standard fix is one 120-ohm resistor across A and B at each of the two physical ends of the trunk, matching the cable impedance so energy is absorbed instead of reflected.
Fix: Terminate exactly twice, at the two ends, never in the middle. A common error is the opposite: enabling the built-in termination jumper on every device, which drops parallel 120-ohm loads onto the bus until the combined load is so low the drivers cannot swing the line. Two 120-ohm terminators present 60 ohms to the driver, which is correct; four present 30 ohms, which is not. Verify with a multimeter: power off the whole bus and measure across A and B; you should read roughly 60 ohms. If you read 120 you are missing one terminator; if you read 30 or less you have too many.
Fault 5: No Fail-Safe Biasing (the Idle-State Trap)
When no transmitter is driving the bus, the line floats. A floating differential input is undefined, and noise can be misread as start bits, producing phantom characters and framing errors even with nothing transmitting. Fail-safe biasing uses a pull-up resistor on one data line and a pull-down on the other (typically in the 560 ohm to 1 kohm range) to hold the idle bus in a known, defined differential state safely beyond the 200 mV receiver threshold.
Fix: Provide biasing at exactly one point on the bus, usually at the master or gateway. Many modern devices include switchable internal biasing; enable it on one node only, because stacking bias resistors loads the bus the same way stacking terminators does. If your bus throws errors only when idle and goes quiet under active polling, suspect missing biasing first.
Fault 6: Grounding Errors and Ground Loops
RS-485 receivers tolerate a common-mode range of roughly -7 V to +12 V. If two devices sit on power systems whose grounds differ by more than that (common across a large plant), the common-mode voltage exceeds the receiver window and communication fails, or the transceiver is damaged outright. Conversely, bonding the shield to ground at both ends invites a ground loop: current flows through the shield because of the ground potential difference, injecting noise.
Fix: Run a dedicated signal-common conductor so all nodes share a reference, and ground the cable shield at one end only. Where segments cross different ground domains, motor drives, or long outdoor runs, break the galvanic path with an RS-485 isolator such as the ISO-M485 series signal isolator, which gives each side its own isolated ground and ends ground-loop chasing for good.
Fault 7: Excessive Stub Length and Surge Exposure
Even on a proper daisy chain, the short drop from the trunk into each device is a stub. Long stubs act as unterminated branches (Fault 3 in miniature) and reflect signal, with the safe length shrinking as baud rate rises; at 115.2 kbps you want stubs measured in centimeters, not meters. Separately, RS-485 runs that leave a building or pass near power switching are exposed to surge and induced transients that punch through transceivers.
Fix: Keep stubs as short as physically possible and bring the trunk directly to the transceiver terminals. On exposed or outdoor segments, install a surge protector (SPD) such as the T485-105 RS-485 surge protector at the cable entry to clamp transients before they reach the bus. For the full design rationale on transient protection, see our article on surge protection for RS-485 and Modbus.
RS-485 Fault, Symptom, and Fix Reference
| Fault | Typical Symptom | Field Fix |
|---|---|---|
| Swapped A/B polarity | No response, or constant CRC/framing errors on one device | Swap the two data wires at that node; standardize wire colors end to end |
| Wrong cable / split pair | Works short, fails on long runs or near motors | Use 120-ohm shielded twisted pair; keep A/B on one twist |
| Star topology / stubs | Random errors that worsen as nodes are added | Re-wire as linear daisy chain or use an active repeater/hub |
| Missing termination | Errors at high baud or long distance; reflections | 120 ohm at both ends only; A-B should measure ~60 ohms powered off |
| Doubled termination | Weak signal, drivers cannot pull the line; total dropout | Remove extra terminators; measure for ~60 ohms, not 30 ohms |
| No fail-safe biasing | Phantom characters / framing errors only when bus is idle | Enable biasing at one node (master/gateway) only |
| Ground loop / out-of-range common mode | Intermittent failures, damaged transceivers, noise pickup | Single-point shield ground + shared signal common; add isolator |
| Surge / transient damage | Sudden dead device after storm or heavy switching | Install RS-485 SPD at cable entry on exposed runs |
A Practical Commissioning Sequence
When a new RS-485 segment will not talk, work the physical layer in this order before touching protocol settings: (1) power down and measure A-to-B resistance, expecting roughly 60 ohms; (2) confirm topology is a single chain with no branches; (3) verify A/B polarity at the silent node; (4) confirm biasing exists at exactly one point; (5) check that signal common is shared and the shield is grounded once; (6) only then revisit baud rate, parity, and slave addresses. This ordering catches the destructive and silent faults first, so you are not debugging a register map across a bus that was never electrically valid. Once the bus is clean, a gateway like the SRT-MGATE-1210 Modbus-to-MQTT gateway can reliably poll every slave and bridge the data upstream for monitoring and analytics.
Frequently Asked Questions
How many devices can I put on one RS-485 bus?
EIA/TIA-485 specifies a load budget of 32 unit loads per segment. Many modern transceivers present a fraction of a unit load (1/4 or 1/8 UL), which lets you place 128 or more physical devices on a segment, but the 32 unit-load total still governs. To go beyond it, split the bus with an active repeater that re-drives the signal.
Do I really need termination on a short bench setup?
At low baud rates over a meter or two, an unterminated bus often works because reflections settle before the receiver samples the bit. As you raise speed or extend the cable, termination becomes mandatory. It is good practice to terminate properly from the start so the same wiring scales to the field without surprises.
What is the difference between termination and biasing?
Termination (120 ohms across A-B at each end) absorbs signal reflections and is about the dynamic, transmitting state. Biasing (pull-up/pull-down resistors) holds the idle line in a defined state when no one is driving it. They solve different problems, and a robust bus needs both: termination at two points, biasing at one.
My bus works in the morning but fails by afternoon. Why?
Temperature-dependent intermittents almost always point to a marginal physical layer: a barely-adequate termination, a loose terminal that expands when warm, or a common-mode voltage drifting toward the limit as ground potentials shift with load. Re-measure the 60-ohm termination, retorque terminals, and consider an isolator if the segment crosses ground domains.