Arduino with RS-422?

I've searched for RS-422 in the forums and googled it, it seems that RS-422 is an option for the arduino but I've not been able to find anywhere that tells me how to specifically do it. Can the Arduino natively support RS-422 or do I need some sort of converter IC from RS232 and RS422. I've dealt with RS-422 before but not at device level.

Basically I have an LCD Marquee that I want to send messages to over RS-422 (2-wire, 9600, 8N1) straight from the arduino if possible.

Any suggestions would be very helpful. Thanks!

Try to read this thread:

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1195139560

Thanks for your reply. Just so I follow, he uses the LTC485 to convert from RS232 on the arduino (TX/RX) to RS422 (A,B). What is the control (Ctrl) pin used for exactly. Looks like the chip requires it when the arduino wants to send something. Since, I'm only trying to transmit, could I use TX or would I need TX and Ctrl (digital output)?

1 Like

That forum post appears to be implementing some sort of bus. It sounds like you need to do point-to-point, which is a lot simpler.

The mechanics should be exactly like hooking up an external MAX232 rs232 transceiver, except that the TX and RX lines will be pairs instead of individual wires, and you'll have termination resistors. I'd probably look at the MAX488 as a starting point, since it seems to be the simplest of the family.

-j

Hmm, now that I think about it, the old macs and early SPARCstations used RS422 instead of rs232, and a simple wiring trick turned them into RS232. I think on the RS422 side TX+ and RX+ were tied to corresponding pins on the 232 side, and TX- and RX- lines were tied to ground on the 232 side - but make sure you verify that somewhere before frying any hardware based on my memory!

-j

kg, I'm not sure I follow you. Are you saying that there is a way to natively support 422? Also, that max488 chip looks just like the LTC485.

All I want to know is how to connect a RS422 display to the arduino using just the TX of the arduino. The wiring on the RS422 side would be RD+ and RD-.

Are you saying that there is a way to natively support 422

No the signal levels still need changing, but you might be able to wire up an RS232 converter to fool your device into thinking it is RS422. As RS422 is a differential drive you need only earth one of the receiver inputs and drive the other. However, this throws away the advantage of having a differential drive. If you are only going in one direction you only have to implement the driver section so that's not too hard.

A quick RS422refresher is at:-