two i2c modules running simultaneously

Hi, I want to connect gyro (MPU6050) and barometer (BMP180) to the Uno. They both use i2c protocol and now I know after reading this BMP180 and mpu6050 together i2c - Programming Questions - Arduino Forum that modules can work together. The only thing I should do is remove some pull-up resistors.
But I got may be a stupid question...

As far as I can tell the topic I linked above considers two modules running under the same voltage. let it be 3 V.

But what if I my gyro running under 5V and barometer under 3V? So, lets say I remove pull-up resisters from the gyro and the total amount of resistance will be defined only by barometer pull-up resistors.

Will something bad happen if I solder i2c lines of one module with another module lines? Because I think that this way I put different voltages in parallel way and the resulting voltage won't be 5 and not 3 for sure.

Please tell me if I'm mistaken and especially if I'm not :slight_smile:
And what should I do for gyro (5V) and barometer (3V) working all together sharing the same i2c bus?

If you use a 5V sensor I'm betting you already use a 5V Arduino. So to use the 3V sensor you need a level shifter. Does not matter if you use it together with another sensor or alone. To go from a 5V Arduino to a 3V sensor you need a shifter. And for I2C you need at least for the SDA line a bidirectional level shifter.

Just leave the pull up resistors in place then.

septillion, Arduino Uno has 3V3 and 5V outs. So I don't need level shifter.

Could someone make a brief read of two datasheets

https://www.cdiweb.com/datasheets/invensense/MPU-6050_DataSheet_V3%204.pdf
and confirm that the modules could run i2c on the same voltage?

Yes you do. The 3V3 out on a Uno is nothing more then a power output. It's just a 3V3 regulator from the 5V line of the Arduino. But it does nothing with the signal lines (outputs) from the Arduino. Those are still 5V. And that BMP180 can't hand;e that :wink:

And now I look at it, the MPU6050 is 3V3 as well. So or use a level shifter or use a 3V3 Arduino like the Arduino Pro Mini 8Mhz.

septillion:
But it does nothing with the signal lines (outputs) from the Arduino. Those are still 5V. And that BMP180 can't hand;e that :wink:

but there're a lot of manuals which describe how to connect bmp180 to the arduino board and a lot of boards in the manuals are UNO which you said the module can't handle
for example

and I have already connected MPU6050 to the UNO without any level shifters
I think you've mistaken about shifters so I wait for other replies

Ah, that's a break out board with that sensor. You did not notice it. The level shifting is on that board. Because the chip itself can't handle 5V :wink:

And if you're MPU6050 is also on some sort of breakout board you did not tell us about, changes are it also has the level shifting :wink:

And I don't have schematics for the break outs so I can't say anything about the pull up resistors.

s0bes:
and I have already connected MPU6050 to the UNO without any level shifters
I think you've mistaken about shifters so I wait for other replies

The maximum supply voltage for the mpu6050 is 3.46 V, and no logic input can be higher than this.
I don't imagine Invensense are mistaken about their own product.

s0bes:
Hi, I want to connect gyro (MPU6050) and barometer (BMP180) to the Uno. They both use i2c protocol and now I know after reading this BMP180 and mpu6050 together i2c - Programming Questions - Arduino Forum that modules can work together. The only thing I should do is remove some pull-up resistors.
But I got may be a stupid question...

As far as I can tell the topic I linked above considers two modules running under the same voltage. let it be 3 V.

But what if I my gyro running under 5V and barometer under 3V? So, lets say I remove pull-up resisters from the gyro and the total amount of resistance will be defined only by barometer pull-up resistors.

Will something bad happen if I solder i2c lines of one module with another module lines? Because I think that this way I put different voltages in parallel way and the resulting voltage won't be 5 and not 3 for sure.

Please tell me if I'm mistaken and especially if I'm not :slight_smile:
And what should I do for gyro (5V) and barometer (3V) working all together sharing the same i2c bus?

Somebody posted a real technical explanation how I2C works - open collector etc. Sorry, do not recall the thread title. Just Google for it somehow and get away from all these voodoo advises.

Added
Here is a link http://www.cs.unc.edu/Research/stc/FAQs/Interfaces/I2C-BusSpec-V2.1.pdf
see page 30 and up

There's nothing "voodoo" (although the Haitians spell it "vodou") about the manufacturer's own datasheet, @Valcav.

Groove:
There's nothing "voodoo" (although the Haitians spell it "vodou") about the manufacturer's own datasheet, @Valcav.

See addendum to my post

Vaclav:
See addendum to my post

And . . ?