AB Electronics ExpanderPi, and yes it plugs into the Pi and provides a 5V bus externally.Is it an expander or multiplexer?
I am assuming the "expander" can do 3v3 i2c for the Pi and 5V i2c for the rest?
Yes but not consistently. Most often, it comes back with the correct addresses but my program bombs out (even though it works when the devices are connected directly).Does i2cdetect -y 1 come back with any addresses? This is the first thing I do for testing.
Default, 100kHz I think.What is your clock rate?
No I don't have another one but it all seems to work fine when directly connected. There are no 5V lines going to the Pi.Putting 5V into a 3V3 won't help, you could damage the i2c IO pins, this is just guessing.
Have you tried another B?
Unfortunately not, and I don't want to buy one just for this when it might not even solve my problem .Do you have a scope to look at the clock/data lines?
Without a waveform image everything is guessing now.
Hmm, so the choice is persevering and investing in a 'scope I don't really need, or replacing the expander hat. Given that everyone thinks I should be getting far greater distances, and it certainly seems to be the common cause, this might be the way to go. Sigh.I'm not convinced that the TI converter does a 'proper' job of buffering the I2C bus, even though it clearly works with just one expander.
Everything is powered from the same source but through a distribution block, i.e. not from the Pi. I've tried it with a 3A 5V wall wart, the robot's own 24V to 5V DC converter, and a USB power bank, all with the same results.Can you try not connecting the power line (just the 3.3v or 5v wire) and powering it locally on both ends instead?
My plan was to use P82B715 extenders for the longer stretches, problem is I can't get to unbuffered bus to reach the extender!Having said that, 2-3m is pushing it for reliable I2C communication using standard level translators.
Debugging i2c? or any serial type comms, very hard without a scope or waveform display.Hmm, so the choice is persevering and investing in a 'scope I don't really need,
Are you using this chip?The P82B715 alone does not support voltage level translation
If you hook it to the 3V3 SDA/SCL on the Pi and power with 5V strange things will happen?because the device output levels are always held within 100 mV of input drive levels,