I'm working on a project in which I want to use a variety of sensors which are all compatible with the I2C interface:SHT35, TSL2591, AS7262, SenseAir K30. I'm not too sure what power pin, 3.3V or 5V, I should use to have viable I2C functionality.
The modules and sensor have the following absolute voltage ratings.
SHT35 2.4 - 5V
TSL2591 3.3V or 5V (Breakout board has a 5V to 3.3V voltage regulator)
AS7262 2.6 - 3.7V
K30 5 - 14V
Will using a 3.3v with two 4.7k ohm resistors be sufficient? I'm afraid I'll fry the AS7262 when I use the 5V for pullup.
EDIT: I noticed 3 out of 4 modules I'm getting have I2C pullup resistors on the breakout board (10k), will they still work when I need to add another 4.7k for the module without pullups (K30)? I supose they will but if anyone has more experience with this I'd love to know.
I noticed 3 out of 4 modules I'm getting have I2C pullup resistors on the breakout board (10k), will they still work when I need to add another 4.7k for the module without pullups (K30)?
No, you'll have to remove the pull-ups from the breakout boards. As the K30 doesn't have an I2C interface you should be able to run all sensors on 3.3V. Depending on the type of Arduino you're going to use you might have to modify some libraries. And for the 3.3V pull-ups you should use 3.3kΩ resistors with that many sensors. Keep in mind that the complete I2C bus length shouldn't exceed 50cm, the shorter the better.
Removing restors seems good. I want to connect the K30 to the same I2C interface as the other sensors.
I'm leaning towards using my Uno.
I want to connect the K30 to the same I2C interface as the other sensors.
That's not possible as it doesn't have an I2C interface as I already wrote. That sensor has a serial interface that uses the ModBus protocol but on CMOS logical levels, so you need a level converter for that.
The UNO is a 5V Arduino. The standard Wire library activates the internal pull-up resistors, so the I2C lines are pulled to 5V. With external resistors you might get that to a lower level (about 3.5V) but that might be already to high for some sensors. So it might be necessary to patch the Wire library to deactivate the internal pull-ups.