Monday, January 16, 2012

sensorNET - Maximum sensor cable distance

While developing the boards for the sensorNET project, I thought about using i2C as the bus the client sensors connect to. This is because atMEGA328P supports it well and the wire library for the arduino is stable and mature. The problem I thought I could have was related to the maximum cable length specified for the i2C protocol which is, after all, used as inter-chip communicator, i.e. between chips that are located quite close, often within the same PCB.

The maximum cable capacitance for use with i2C seems to be between 400 to 500 pF (see this and this). I think at this point it is reasonable to assume I will be using 4 core cables (2 supply + 2 data, SCL and SDA) and probably we will go to something similar to CAT-5 cable (2 + 2+ 2 extra), depending on cost.

The capacitance of cat-5 cable is 50 to 70pF per meter at 100KHz (see here, page 10). Considering the worst case scenario (400/ 70 =) 5.7m is therefore the maximum cable length between the sensors and the main console. This seems very reasonable to me.

1 comment:

zodiak aka Rui said...

this tutorial, says the maximum cable run for the i2C bus is:

http://tronixstuff.wordpress.com/2010/10/20/tutorial-arduino-and-the-i2c-bus/

hum...