Bad Communication with Multiple I2C Devices

I have an Arduino Micro connected to two I2C devices. An MPU-6050 that is powered by 5V (though it has its own voltage regulator on it) and a Altimeter that is powered by 3.3V. They are both connected to the SDA and SCL.

I noticed that when I have the MPU powered on but don’t power the 3.3V altimeter, the MPU does not communicate with the Arduino. I need to have the 3.3V power on to just communicate with the MPU through I2C.

Then unfortunately, I believe I may have shorted the 3.3V rail and broke the Altimeter. When I remove the MPU from the equation and try to just communicate with the Altimeter, I get nothing. Does this mean that I did short the device, or is there something else going on with I2C that I don’t understand?

I have attached a schematic below of how the devices are connected.

That's probably because the pressure sensor has the pull-up resistors for the I2C bus. Without the pull-ups the I2C won't work

Does this mean that I did short the device, or is there something else going on with I2C that I don't understand?

Both options may be possible. Post links to the used hardware (the exact board you're using).

You have to use voltage level converter if you are using mixed devices for 5 and 3.3V. Hope that nothing is damaged.