I have a module that uses this ADC powered with 3.3V (MCP3422): Datasheet
Now I would like to communicate with it over I2C using an Arduino Mega. The problem is that the Arduino's I2C is operating on 5V level and the I2C bus of the ADC (can handle up to 5V supply but is only supplied with 3.3V) is on 3.3V level only.
Now I guess in order to ensure a stable communication I should use an I2C Bus Voltage-Level Translator like e.g. the PCA9306: Datasheet
Now I would like to power this module I have over the V_dd pin of the Arduino. As far as I know it is not recommended to draw more than 20mA over an Arduino pin. My board so far uses about 9mA of current. Thus, about 10mA are left to power the level-translator. I checked the datasheet of the level-translator and im confused how much current it draws. On page 4 of the datasheet it says 64mA 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.3V and 5V I2C bus domain in my case? Maybe there are more convenient methods that do not require that much current.