I2C over 25' cable

General project help for Adafruit customers

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
Lastat77
 
Posts: 15
Joined: Sat Apr 18, 2020 3:10 pm

I2C over 25' cable

Post by Lastat77 »

I need to control a motor controller operating over i2c. However, I need the motor (with its build in controller) to be a bit over 20 feet away. No way i2c can traverse this length (and still work).

I once saw an extender for i2c but now the only one I can find is EU only.

Can I reliably use a Adafruit LTC4311 to run i2c signals over 20 feet of cable?

Thank you for any help/direction.

EDIT: There is a SparkFun item for doing this... but is there an Adafruit comparable? "SparkFun QwiicBus - EndPoint"

User avatar
moonie223
 
Posts: 49
Joined: Sun Feb 05, 2017 2:44 pm

Re: I2C over 25' cable

Post by moonie223 »

You want a differential i2c expander, which is what I believe the sparkfun kit is. That will split the I2C lines into 4 wires, and each pair is inverted and sent at the same time. This pretty much cancels all the noise and lets it work at crazy lengths.

Pretty much everything is differential any more, canbus, USB, ethernet. It is important for the cables used to maintain a twist in the wire on each differential pair.

I believe the LTC4311 is just an external driver, not differential. You'll still eventually run into cable length issues, depending on the wiring you use and the signal speed.

User avatar
adafruit_support_bill
 
Posts: 88097
Joined: Sat Feb 07, 2009 10:11 am

Re: I2C over 25' cable

Post by adafruit_support_bill »

For a 20' run, the LTC4311 should work fine. The Sparkfun unit is capable of longer distances, but you will need one at both ends of the run.

Locked
Please be positive and constructive with your questions and comments.

Return to “General Project help”