RS-485 signals with the voltage difference between two wires, so it survives long, noisy runs. A small wiring mistake, however, shows up as «no reply» or «occasional CRC errors», which look like software problems. Check these before you blame the program.
1. A/B polarity
Wire names differ by vendor: A/B, D+/D−, Data+/Data−, and one vendor's A is often another's B. If nothing answers at all, swapping the two wires is the fastest test. Reversed polarity does not damage the devices.
2. Termination (120 Ω)
Put a 120 Ω resistor at the two physical ends of the line only. One at every device, or none at all, causes reflections that corrupt bytes on long lines and at high speeds. Short runs (a few metres) at 9600 bps often work without it, so problems may appear only after the cable is extended.
3. Biasing (fail-safe)
When nobody transmits, a floating line lets receivers read noise as data, producing stray bytes (often 00 or FF). Check that the master or the adapter provides bias resistors (pull-up/pull-down). Many USB-RS485 adapters enable them with a switch or jumper.
4. Common ground
«Two wires are enough» is a common belief, but if the devices' ground potentials differ, the receivers' common-mode range can be exceeded, breaking communication or even damaging devices. Connecting a third wire for signal ground is the safe choice.
5. Topology: daisy chain
RS-485 expects devices to be chained one after another. Star wiring or long stubs create reflections. With standard transceivers the usual limits are 32 devices (unit loads) per line and about 1200 m at low speeds.
Find it by symptom
| Symptom | Check first |
|---|---|
| No reply at all | A/B polarity, address, baud rate, parity, adapter direction control |
| Every byte I send comes straight back | Half-duplex echo — adapter setting, or ignore own transmission in software |
| Occasional CRC errors | Termination, ground, cable length vs speed, inverter noise nearby |
| Garbage bytes (00, FF) while idle | Bias resistors |
| Only nearby devices work | Termination, topology (stubs), number of devices |
Direction control in half duplex
Two-wire RS-485 sends and receives on the same pair, so the transmitter must be enabled only while sending. Most current USB adapters do this automatically; older ones switch direction with the RTS line, and the software must toggle RTS at exactly the right moment. If the start of replies is cut off, suspect this.
Published 2026-10-17