Hello, using the IO expander with a Qwiic cable it is my understanding that the GPIO output voltage will be at 3.3V. When using the VCC/GND/SDA/SCL pins instead with a 5V logic level Arduino, the IO expander will also have a GPIO output of 5V.
Unfortunately it is nowhere documented if it is possible/supported/safe to use a 3.3V Qwiic connection and additionally provide 5V via the VCC/GND pins. My expectation is that the IO expander pins will output 5V but communicate at 3.3V via i2c. Can you confirm this?
Hi @semaf I’ve investigated this with our senior hardware engineer,
If you feed 5 V into the header, the I²C pins on the header will run at 5 V logic levels.
The Qwiic side will be at 3.3 V, so it’s perfectly safe to use with a 3.3 V MCU.
The GPIO expander’s outputs will never be 5 V — always 3.3 V — because the expander itself is powered from 3.3 V. If you feed 5 V into the header, the voltage regulator drops it to 3.3 V and powers the expander from that.
And if you power it from Qwiic, the supply is already 3.3 V, so the outputs are 3.3 V too.
So the short version: the header is 5 V-tolerant on the I²C side (that’s what the level shifter is for), Qwiic is 3.3 V, and the GPIO pins are 3.3 V no matter which one you use. In the schematic, 5 V in always goes through the regulator, so the expander never sees more than 3.3 V, and there’s no configuration that gives you 5 V outputs.