Troubleshooting RS-232 Communications

RS-232 is a tried and true control protocol, which is still widely used today in pro AV.  While most devices these days can be controlled using some sort of network control, RS-232 has the distinct advantage that it is a dedicated bus to communicate with and control your device.  If the network goes down or if there is an IP conflict, local RS-232 will continue to function, while network control can stop working.

However, RS-232 can be tricky to set up if you are not familiar with the cabling or the things to watch out for.

While RS-232 cables can support up to 9 conductors (think of the traditional DB-9 connector with 9-pins), RS-232 generally uses 3 conductors: transmit (TX), receive (RX), and ground (Gnd).  This corresponds to pins 2, 3 and 5 on a DB-9.  There may be other conductors required, consult with the device manufacturer's manual to be sure.

Ground will always connect to ground on both ends.  The other 2 conductors are crossed over, meaning that TX goes to RX, and RX to TX.

Physical connectors can also vary, you will typically find DB-9, TRS (tip, ring, sleeve; like a 3.5mm headphone connector), a Euroblock-type connector (commonly referred to as a Phoenix connector), or possibly other proprietary connectors.  All connectors will typically be male, but DB-9 connectors can potentially be male or female.  As you can imagine, this often leads to cabling headaches if you are on site and do not have the proper cable or adapters.

Aurora offers TRS to DB-9 cables in 4 configurations, combining variations of straight and crossover, and male and female.  See the diagram a the bottom.

Finally, RS-232 has a definable data transmission rate (baud rate) and other settings such as data size, parity, stop bits, and handshaking.  It is important to make sure the controller and device have matching settings.  Generally the baud rate is the only thing you may need to change, but check with the device manual for other setting requirements.

Here are some troubleshooting tips for RS-232 communications:

  1. First, verify that Gnd is going to Gnd (pin 5 on DB-9).  A simple continuity test on a multimeter can be very helpful for this.
  2. Check that your baud rate on the controller matches the baud rate of the device you are controlling.
  3. Next, power on the device and test communication with the power off command. Projectors and displays are notorious for eco power savings modes that disable RS-232 once powered off. Often these are enabled by default. Also, RS-232 may be disabled by default, check with the device manual to verify default settings.
  4. Now, if you send a command, even if the syntax is wrong, you should get some data back. Make sure you send the proper termination character (often carriage return, line feed, or both).
  5. If you did not get data back, it is likely wiring. Swap the TX and RX (pins 2 and 3 on the DB-9) or add a null modem adapter.
  6. If the command worked, you are all set, stop here.
  7. If the command did not work, and response shows an error that you can read (responses are not always human readable), it is likely a command error.
  8. If the response is a bunch of unintelligible data, you likely have the wiring correct, and the baud rate is mis-matched.

It can be helpful to connect a serial port on your PC to first verify your commands and settings. Likewise, to can be helpful to connect you PC to your controller to see if the commands you are sending are being received as anticipated.  While this may not definitively rule out your cabling, it will test verify your commands and can help to rule out others settings.

If you have any questions about hexadecimal data, please read this KB article: