Diagnosing RS-485 (Serial) Comm. Issues 🧲

By Tobias Serr-Li

An RS-485 interface requires at least two wires. In a two-wire half-duplex configuration, the same pair of wires is used for Transmit and Receive.

In the cases where communication faults are reported, please use this guide to help you diagnose it!

1. Cabling

Good practice is to use a twisted pair cable with foil shield.

The shield helps protect your signals from picking up stray noise from nearby wiring and other electrical equipment. A shield will provide little benefit just on your bench or for short runs with no other equipment around, but its value goes up as exposure to sources of noise goes up.

Besides the two transmission wires, you’ll also need a signal ground or reference. This is because data is being transmitted by electricity (switching very fast), and electricity always needs a return path in order to function. Data transmission needs a return path just like anything else running on electricity

Here is a functional diagram of what RS-485 should look like.

Typical Wiring

2. Daisy-Chain wiring

The most important restriction to pay attention to is that you absolutely cannot connect things randomly, nor can you connect devices in anything other than a strict daisy chain.

While multiple devices connected haphazardly on the bench will work, when you put some distance between the devices, they will fail to communicate if not connected via a strict daisy chain.

Daisy Chain Wiring

3. RS485 Channel Polarity

Check if the the RS485 cable connected to the same RS485 channel (A/B) on all devices (except the Master).

Please note below the Driver (Transmit) and Receiver labels. The Master (on the top right) is transmitting and receiving from the rest of the units as a whole.

A/B Comms

4. Termination

Termination resistors Termination resistors are often used to reduce reflections on the network. This problem occurs mostly with long wires and high baud rates. The resistors are typically 120 ohms and installed across the Transmit and Receive wire pairs.

With most things will work without any termination for short distances, like on your workbench. In the field, it is needed, and must be located at both ends of the line and only at the two far ends of the line.

A/B Comms

5. Configuration (BACnet and Modbus RTU)

Master/Slave -

  • The “MS” in BACnet MS/TP stands for Master/Slave. For MS/TP, all devices take turns being master and slave, and there is no contention for who is master. The only requirement is that all devices on the network must have unique MAC addresses (or station IDs), and all devices must have unique device IDs.
  • Modbus RTU is also a master/slave polling scheme, but there can be only one master on the Modbus RTU network and all other devices must be slaves. Furthermore, each slave must have a unique slave address to avoid multiple slaves responding at the same time (thereby corrupting responses from both).

Communicaton Settings -

  • Ensure all your communication settings are consistent over all your devices. For example, the baud rate is the rate at which information is transferred in a communication channel. All devices will need to have the same baud rate on the bus. This is the same for stop bits and parity.

Common Troubleshooting

Check these things!

  • Signal ground
  • Data line polarity
  • Baud rate, stop bits, parity
  • Line termination
  • Master/slave configuration
  • All devices have unique addresses