I have programmed an I2C slave on an Arduino Nano and an I2C master was on an Arduino Mega. I'm now working on upgrading the master to a Teensy 4.1.
The new master is a 3.3v microcontroller, where as the original setup was all 5v microcontrollers. So now I'm looking into level shifting as I need to upgrade the master and for various reasons upgrading the slave is not practical at this time.
My question is about the difference between these two breakout boards:
https://www.adafruit.com/product/5649
https://www.adafruit.com/product/5637
One is described as a 5v to 3v I2C level shifter and the other 3v to 5v. The documentation suggests that one is designed for a 5v master and 3v slave and the other vice-versa.
I find this confusing since I2C requires signals to go in both directions.
My question is: Are these products in fact interchangeable or do they really need to 'know' which side the master is on to function?