I2C Communication Bus Length for 100metres

Thread Starter

uppi_777

Joined Feb 26, 2018
67
Hello All,

Currently, i am working on raspberry pi project for triggering camera
I am very much interested to use I2C bus for exactly about 100metres.
Could some one please explain me how can i reach my target 100metres with I2C bus.
Any other ideas and inputs is much appreciated

Thanking you
 

shteii01

Joined Feb 19, 2010
4,644
Hello All,

Currently, i am working on raspberry pi project for triggering camera
I am very much interested to use I2C bus for exactly about 100metres.
Could some one please explain me how can i reach my target 100metres with I2C bus.
Any other ideas and inputs is much appreciated

Thanking you
<snip>

I2c was specifically created for pcb boards. Which means it is best used for distances of a few centimeters.

I have used i2c for distances of 2-3 meters, it worked. One trick u can use to extend range is to use slower clock rate. One last option is to use i2c extender chips, they do exist, but they will need power so u will need sda, scl, vcc and ground to power extender chip, 4 wires total.
 
Last edited by a moderator:

MrChips

Joined Oct 2, 2009
30,712
Abandon the idea of I2C over 100m.
Go with RS-485 and NRZI UART or phase-encoded data signalling.
Reduce your clock rate for increased reliability.
 

ebp

Joined Feb 8, 2018
2,332
With the right drivers and receivers you can run i2c 100 metres. One of my clients routinely did it at about half that distnce 20 years ago. I think it was over twisted pairs but I don't remember for sure. Some years ago they extended the distance, possibly to over 100 metres, after the bozos on the ship broke a huge steel cable that unbraided itself as it sprang back at high velocity into the "firing line" (pipe welding line). It could easily have killed a bunch of people, so it was decided that maybe they should rearrange where people worked, necessitating longer cables for a control console.
 

Thread Starter

uppi_777

Joined Feb 26, 2018
67
<snip>

I2c was specifically created for pcb boards. Which means it is best used for distances of a few centimeters.

I have used i2c for distances of 2-3 meters, it worked. One trick u can use to extend range is to use slower clock rate. One last option is to use i2c extender chips, they do exist, but they will need power so u will need sda, scl, vcc and ground to power extender chip, 4 wires total.
Thank you it was helpful but what do you mean by slower clock rate
 

dendad

Joined Feb 20, 2016
4,451
Read up on I2C.
It has a clock signal that synchronizes the data transmission and the data itself.
You can use a slower clock a lot of the time and that will travel further. But, although you may get I2C running over those distances, using balanced drivers, something like RS485 that is designed to run for well over a KM is the way to do. So the RasPi will need to talk to a remote Pi or Arduino or PIC or some such and have the remote do the work under command of the master Pi.
Or use some radio link.
 

ericgibbs

Joined Jan 29, 2010
18,766
hi 777,
Another alternative would be two lost cost transceiver modules, HC12 type.
Work at different Baud rates, range upto 1000 mtrs line of sight, typically 100+ mtrs in built up area's.

E
 

MrChips

Joined Oct 2, 2009
30,712
RS-485 can transmit to 1200m at 100kbps.
Clock speed refers to how quickly the bits are being transmitted, i.e. the inverse of the duration of one bit. If you slow down the clock frequency (lengthen the bit width) and at the same time slow down the data slew (i.e. slow down the rising and falling edges, i.e. decrease signal bandwidth) you will reduce the reflections in the cable.
 

Papabravo

Joined Feb 24, 2006
21,159
The I2C clock line is unidirectional at all times. The I2C master is always the driving source for this signal. The I2C data line must be bi-directional at all times so the ACK pulse can be returned from the slave device to the master. A decade ago we tried to implement an I2C repeater and we failed causing a huge delay in our project. I understand such chips now exist, and they must implement a protocol to keep track of the bits so they can change the bus direction during the ACK slot. If this post does not make sense to you, then I don't rate your chances of success as favorable.
 
Top