I have a module that uses an ADC powered with 3.3 V (MCP3422). I would like to communicate with it over I2C using an Arduino Mega.
The problem is that the Arduino's I2C is operating at 5 V and the I2C bus of the ADC (can handle up to 5 V supply but is only supplied with 3.3 V) is at 3.3 V.
I guess in order to ensure a stable communication I should use an I2C bus voltage-level translator like e.g. the PCA9306.
I would like to power this module I have usung the V_dd pin of the Arduino. As far as I know it is not recommended to draw more than 20 mA over an Arduino pin. My board so far uses about 9 mA of current, so about 10 mA are left to power the level-translator.
I checked the datasheet of the level-translator and I'm confused about how much current it draws. On page 4 of the datasheet it says 64 mA for Pass switch current. Is that the value im looking for? I guess the current would also depend on the pull-up resistors I use.
Anyway, about 64 mA would be way too much current draw for my application. However, it also says:
Standard-mode I2C devices only specify 3 mA in a generic I2C system where standard-mode devices and multiple masters are possible.
- What is the supply current/current draw of the level translator?
- Do you have any other recommendations for connecting the 3.3 V and 5 V I2C bus domain in my case? Maybe there are more convenient methods that do not require that much current.