can someone please let me know if it’s normal to have i2c pull-ups resistor on each boards ?
let say having four boards, exactly like the drawing on spec sheet page 12. I think it makes no sense to have pull-ups on each… or maybe the PCA6915 is doing something to the i2c line that I’m not understanding well.
I am not sure we have much information to go on regarding stringing four or more of the Differential I2C Breakouts but we will look into that and get back to you with any information we can dig up. You will most likely need to disable the I2C pull-up resistors as you add more of these to the bus so your master can still pull those lines low. As you add more, the resistance will hit a point where it is too high for the master to effectively toggle those lines for sending data.
This is just a quick response in relation to your final question regarding the MagJack Breakouts you are trying to use. Those breakouts are designed for ethernet only and are not a standard RJ45 connector like what is populated on the Differential I2C Breakouts. The pins are netted together internally like the [MagJack Datasheet shows and it will not work for your application. You are correct in your thinking. You will need to use the [RJ45 Breakout and [connectors. If you have some of these you do not wish to use and have not soldered to yet, please submit an RMA on [this page.
Yeah I found out just after posting that the pins are tied together. I went ahead and bought the https://www.sparkfun.com/products/716 at my favorite hobby store witch happen to have inventory! no RMA needed
corrected my board and came up with this setup; (as a proof of concept)
I think the problem here will be too many termination resistors. Each BOB-14589 has a set. Only the first and last should in a multidrop arrangement. It would be nice if the breakout included solder pads and traces to cut to enable/disable the termination resistors, similar the how the I2C pullup resistors are set up.
Also, the I2C pullup resistors are needed on each down stream breakout since the sensor side of the breaker is effectively a new I2C bus at each breakout. On the first breaker at the master, you also need to the pullup resistors unless you already have pullup resistors on the bus elsewhere. For example, raspberry pi’s already have pullup resistors onboard for the I2C pins, so you would need to cut the pullup traces on the breakout connected to a pi.