I2C to RS422/485

Anyone know of a decent chip set to convert I2C to RS422/485. I want to use the Arduino Mega as a Master I2C device and connect RS422 and or RS485 devices on that chain. Im currently using all other pins on the Mega including the 4 uarts and the SPI on it.

found 2 things http://xj900diversion.free.fr/bus/I2C%20-%20RS-485%20adapter.htm http://www.electronicspoint.com/i2c-rs485-chip-t26967.html http://forums.nxp.com/viewtopic.php?t=5102&highlight=422 eh three maybe it helps

http://ics.nxp.com/literature/other/interface/pdf/bus.buffers.p82b96.pca9600.pdf four

Please let us know if it works!

Yeah the reason i'm doing this is I have about 12 battery controllers that all have RS422/ 485 communication on them and work on a single buss and I don't have a free SPI or Uart on the mega to convert to rs422. So that is where the I2C is what i'm looking into.

I'm liking the article you posted on a guys full duplex circuit design. I need to look closer into that. I was hoping there was an all in 1 chip design like a MAX232 for serial.

If you're looking for full duplex RS422 you could try using a DS8921

I don’t have a free SPI

That’s a lot of SPI slaves.

You do realize you can have many SPI slaves on a single SPI bus, right? You only need one extra pin for each slave peripheral.


Yes, I'm aware of that. and yes i do have that many slaves. My problem is not with my SPI bus or the number of items I am running on this Atmel. My problem lies in trying to add another layer of communication with the remaining pins I have available =)

I miss counted I have 1 digital I/0 pin free, TX3/RX3, and the 2 wire I2C. Those are the only pins not accounted for on the entire Atmel Atmega 1280

yes i do have that many slaves.

holy cow, that's a lot of slaves! Whatcha building? Sounds like it's time to start multiplexing the CS lines. :)

There's a family of devices from NXP that fits the bill. Unfortunately they're SMT and low voltage.

The reason I asked about SPI is that Maxim has a couple of SPI UARTs (not sure if RS485 is supported, though). MAX3100, MAX3110, etc. The nice thing is that the Maxim devices are 5V, and at least one is DIP, if you like to avoid SMT.


Depending on how busy the CPU and/or serial channels are, you might be able to use one of the software serial libraries on a pair of unused pins, or use multiplexers to switch hardware serial lines among different serial channels.