Differential I2C - PCA9615 (BOB-14589) Issue with 2 slaves

Hi there!

I got unstable communication when using I2C differential (BOB-14589) with two SingleTact sensors (CS15-45N). For unstable I mean I receive values from -35,000 to 0, when usualy I have to receive 0 to 1023. And also arduino freezes at wire.endTrasmision() line. Both issues related to unstable I2C communication. There are other post with similar issues when using several slaves attached at the other side of the I2C differential.

Any recomentations? Maybe use of amplifiers, shift-level converters,

My setup (Attached diagram to be more clear):

Arduino UNO/MEGA/M0 connected directly via I2C to this TWO sensors, OK

Arduino UNO/MEGA/M0 using a I2C Differential board with 1/3,/0/20 feet ethernet cable with ONE sensor, OK

Arduino UNO/MEGA/M0 using a I2C Differential board with 1/3/10/20 feet ethernet cable with TWO sensors, FAIL

One solution was to dedicate a I2C Differential pair for each sensor, works but not ideal solution.

Unfortunately we don’t know anything about your sensors so we’re not able to give you too much advice. The only thing we can think of that might be an issue is if both sensors have their pullups enabled, that could be loading the bus too much when two sensors are attached. Try disabling the pullups on one of your sensors and see if that helps.

Hi Chris!

The sensor (singleTact) requires external pull-up resitors, and the I2C Differential Extender (4.7KOhm) fits perfecly.

Could you check if using two or more I2C slaves (of any type) in the other side, works?

Thanks!

We’ve tested this board with multiple (SparkFun) slaves on the remote end and they worked for us.

What are you using for a power supply input to the local Differential I2C Breakout? It looks like your sensors need a minimum of 3.7 volts to function, there could be some voltage drop along your CAT5 cable that is just enough to get one sensor working but when two are attached, the drop is too much.