user53592: I have several devices on the I2C bus:

RTC DS3231SN
TMP100 temperature sensor
EEPROM 24LC256

All devices are powered by 3.3V. The voltage on the I2C bus is 5V.
Question:
Is the voltage difference on the bus and device power normal?

user10024: There are 3.3V devices that have 5V-tolerant inputs; that may be the case for your devices, but I would not risk it. Use a level converter designed for I2C, such as https://www.adafruit.com/product/757. Or you can make your own; https://cdn-shop.adafruit.com/datasheets/an97055.pdf explains how such a level converter works. Use a BSS138 if you are comfortable with soldering SMT components; otherwise use a 2N7000. 

53592: <p>I have several devices on the I2C bus:</p>

<ol>
<li>RTC <a href="https://eu.mouser.com/datasheet/2/256/DS3231-1513891.pdf" rel="nofollow noreferrer">DS3231SN</a></li>
<li><a href="https://www.ti.com/lit/ds/symlink/tmp100.pdf" rel="nofollow noreferrer">TMP100</a> temperature sensor</li>
<li>EEPROM <a href="http://ww1.microchip.com/downloads/en/DeviceDoc/21203N.pdf" rel="nofollow noreferrer">24LC256</a></li>
</ol>

<p>All devices are powered by 3.3V. The voltage on the I2C bus is 5V.</p>

<p><strong>Question:</strong>
Is the voltage difference on the bus and device power normal?</p>
 10024: <p>There are 3.3V devices that have 5V-tolerant inputs; that may be the case for your devices, but I would not risk it. Use a level converter designed for I2C, such as <a href="https://www.adafruit.com/product/757" rel="nofollow noreferrer">https://www.adafruit.com/product/757</a>. Or you can make your own; <a href="https://cdn-shop.adafruit.com/datasheets/an97055.pdf" rel="nofollow noreferrer">https://cdn-shop.adafruit.com/datasheets/an97055.pdf</a> explains how such a level converter works. Use a BSS138 if you are comfortable with soldering SMT components; otherwise use a 2N7000. </p>
