Integrating Sparkfun's I2C Modules with Adafruit I2C Modules

I want to read data from Adafruit sensors, the [Adafruit’s LIS3MDL, via I2C. Their I2C modules have level translators that allow it to take in 3-5 volts. However, rather than read from one sensor, I’m trying to scale up using Sparkfun’s products. This is where I need some help.

With regards to my I2C MCU, I have two different boards: the [Arduino Nano Every, and the [Arduino Portenta. They operate at different voltages (5V for Nano, 3.3V for Portenta). In terms of my question about integration, it’s about compatibility with Sparkfun’s modules.

So, for this integration, I’m using Sparkfun’s Qwiic products: a [multiplexer, a [differential endpoint, and a [differential midpoint. My goal is to have an MCU connect to one endpoint (call that EP1), connect to the midpoint (call that MP), and connect to another endpoint (call that EP2). The MUX will be connected at the midpoint along with 8 sensors, and EP2 will host one sensor itself. Thus, a total of 9 sensors. My question is: will the Sparkfun modules work at +5V logic-level voltages (AKA, with the Nano)?

The [MUX Schematic is straightforward, being powered via Qwiic. Now, the schematic has it labeled as 3.3V, but the PCA9548A can take 5 volts. So, if one uses an appropriate cable, the MUX could take +5V and pass that along to other sensors via Qwiic.

The [endpoint schematic also seems simple. VCC and VCC1 are tied together via a jumper, so the PCA9615 can see the same voltage on both sides. VCC1 can be passed to another endpoint via RJ-45 Blue wire. So, when using two endpoints, the voltages would be the same.

The [midpoint schematic doesn’t seem as simple. Power comes in via RJ-45 Blue or Green. The midpoint schematic has the incoming voltage on the Blue line labeled as VCC_1. The default option of the midpoint is to power it with 3.3V through its header, the RJ-45 Blue wire, or the Qwiic connectors. However, it appears that if you power it via RJ-45 blue (say in the instance you deliver 5-volts through it), if PSEL is left open, you still tie VCC_1 to the “3.3V” net with the short at the end of the buck regulator. In effect, you would be powering the PCA9615 on the midpoint with +5 volts on both sides.

Based on all of this, I am led to believe that the Sparkfun modules can take +5 volts or +3.3 volts if it is powered through either the Qwiic header or the standard header on the endpoint, and you can do all of this WITHOUT cutting any of the jumpers or shorting any of them. Thus, you should be able to use the sensors with either of the aforementioned MCUs. Am I wrong? I wanted to ask just in case my logic is wrong.](https://cdn.sparkfun.com/assets/d/f/f/b/6/SparkFun_QwiicBus_Midpoint-Schematic.pdf)](https://cdn.sparkfun.com/assets/b/8/9/5/a/SparkFun_QwiicBus_Endpoint-Schematic.pdf)](https://cdn.sparkfun.com/assets/7/2/f/c/6/Qwiic_Mux_Schematic.pdf)](https://www.sparkfun.com/products/18000)](https://www.sparkfun.com/products/16988)](SparkFun Qwiic Mux Breakout - 8 Channel (TCA9548A) - BOB-16784 - SparkFun Electronics)](Portenta H7 — Arduino Online Shop)](Arduino Nano Every — Arduino Online Shop)](Overview | LIS3MDL Triple-axis Magnetometer | Adafruit Learning System)

To add on, here’s a block diagram of what I’m trying to accomplish. The key thing is that I’m routing the appropriate MCU voltage on the endpoint’s 3V3 pin rather than using a QWIIC cable, because I want everything to be fixed on one voltage rather than have two separate voltages when working with the appropriate MCU (Nano uses 5 volts while Portenta uses 3.3V). From what the schematic shows, you theoretically could +5 volts on the 3V3 pin of the endpoint and it would still work even in this block diagram, am I wrong?