¿Realmente necesito un cambiador de nivel si uso dispositivos con alimentación de 5 V en un bus I2C que tiene pull-ups a 3,3 V? Según tengo entendido, los dispositivos solo bajarán las líneas (SDA, SCL) (a tierra) y nunca conducirán su voltaje de alimentación al bus. Por lo tanto, no veo una razón para un cambio de nivel siempre que todos los dispositivos detecten el voltaje de los pull-ups (3.3 V) como alto lógico. Ese debería ser el caso con dispositivos que usan 5V como suministro.
En mi caso, tengo un IC cuyas entradas no son tolerantes a 5V como maestro e podría alimentar a mis esclavos con 3.3V pero usar 5V es más fácil en mi circuito y permite un reloj más alto (interno) -ratas para los esclavos.