Hi.
I’m interested in purchasing your Differential I2C Bus Extender PCA9615.
A couple of questions - can I connect a MCP23017 breakout board to each of the Qwiic connectors, to be run at 5V?
Another concern is removing the termination resistors. I am building a solution, where the Pi and the ‘master’ bus extender will be in the middle of say - a large horizontal wardrobe. Additional port extenders will be daisy-chained to the left and right of the central port extender, every 1 meter or so. Would I need to remove the resistors (which ones) on every bus extender, apart from the left-most and right-most ones? How can I be certain the resistors are the right value, when the cable length and capacitance of the cable per meter isn’t known?
Thanks!
I will be daisy chaining these boards using an RJ45 splitter.
See my recent post (https://forum.sparkfun.com/viewtopic.php?f=105&t=49458) for at least a little bit of information about this since we are working with something sort of similar but note that it doesn’t fully answer your questions.
It would be really helpful if Sparkfun put together a guide on how to extend I2C with their extender at various voltages and configurations because it’s really not quickly clear how you can do that and what the limitations are on it either.
Also would be nice if there was a SPI extender as well as a higher speed rated 5V to 3.3V level converter as well.
I’ll see if we can’t get a better explanation on how these boards work in the hookup guide.
The topology below will work, but we haven’t tried using a splitter on the CAT5 side of the link so we don’t know if that will work.
Your SPI extender idea is a good one, I’ll mention that to our engineers!
Hi and thanks for the reply. I actually had something else in mind. The point here is to be able to speak to 8x MCP23017 port expanders remotely. The resistors to every PCA9615 port expander will be removed, bar the ‘emitter’ bus expander at the top which will be linked to the Raspberry Pi, as well as the last ones to the left and right of the diagram as I understand it.
Firstly, will this work and secondly, won’t the resistance be too great if 3x port expanders have them? The alternative here being have a ‘left-side’ and ‘right-side’ end-to-end bus and split the incoming Raspberry Pi signal between the two emitters that will be at the top.
I think I get conceptually what you are trying to do but I have no idea if this will work. We have used I2C for many years but this is the first time we have needed it to go 20’ or more and your application is similar but different in what it is trying to do.
https://robothings.pl/en/products/rt-nvt2008/
8 Channels Bidirectional Voltage Level Translator
$10, can be used with SPI, I2C/TWI, UART and standard logic IO interfaces.
It’s capable of hitting 33MHz, so it will work with SPI signals. The open-drain outputs also allow it to be used for I2C.
Also note that it seems to have the Sparkfun icon associated with it? Not sure if they are partnering with you or if maybe it is planning to be a future product or something? Would be nice if we could source it from a US supplier off the shelf rather than have to wait for it and ensure there are enough buyers before it is made, etc.
Also, what software are you using to make these diagrams?
MS Visio and… Paint. I have heard good things about https://www.lucidchart.com/
Will have to check it out. It’s hard to read the text on the ones that Sparkfun posted but they do look organized.
Do the RJ45 extenders have a way to be addressed individually? Do they need to be?
No, that’s the point. The PCA9615 acts kind of like a signal splitter / extender / booster (not sure about the last one). The RJ45 splitters are just pin-to-pin bridges for the UTP / STP cable (as I understand it). Take a look at this post - it explains it best.
https://hackaday.com/2017/03/31/an-intr … -i%C2%B2c/
Most notably this diagram:
There’s a competing product that is based on the PCA9600 and comes with 2 RJ45 ports on the board itself, which is also an option. It also allows you to enable / disable all the resistor termination stuff and pull-ups. The PCA9600 achieves the same effect, but in a slightly different way.
Is there any way to enlarge the image here on the forums directly? You have to be logged into see it but it looks like microfilm! Will check out the HAD link.
The way I understand things is that the RJ45 extenders basically just take the I2C and basically extend it without converting it. As far as the I2C side of things looks, there is nothing there. Similar things happen when you do fiber extension of signals with purpose built hardware devices as well. Somewhat commonly done for serial and such though that can already do long distances to start with where as I2C cannot.
snowbord:
Hi and thanks for the reply. I actually had something else in mind. The point here is to be able to speak to 8x MCP23017 port expanders remotely. The resistors to every PCA9615 port expander will be removed, bar the ‘emitter’ bus expander at the top which will be linked to the Raspberry Pi, as well as the last ones to the left and right of the diagram as I understand it.
Firstly, will this work and secondly, won’t the resistance be too great if 3x port expanders have them? The alternative here being have a ‘left-side’ and ‘right-side’ end-to-end bus and split the incoming Raspberry Pi signal between the two emitters that will be at the top.
I2C extender.png
Did you end up trying this?
I’m also interested in a star topology. I know the impedance won’t be matched, but the PCA9615 seem to be pretty robust.
My concern is that the RJ45 splitters might not do what you expect. I’ve read that they don’t have all the pins wired, but split two pair out to one side and the other two pair to the other, so you can send two Ethernet signals over a single cable.
Actually putting multiple devices in parallel does not work for normal Ethernet networks (IEEE 802.3).
Did you find some splitters that are actually parallel pass-though? This one looks promising due to the low price and bad reviews. https://www.walmart.com/ip/Ethernet-RJ4 … /977952003