¿Realmente necesito una palanca de cambio de nivel si uso dispositivos alimentados por 5V en un bus I2C que tiene pull-ups a 3.3V? Según tengo entendido, los dispositivos solo tirarán de las líneas (SDA, SCL) hacia abajo (a tierra) y nunca conducirán su voltaje de suministro 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.3V) como lógicamente alto. 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 y podría alimentar a mis esclavos con 3.3V, pero usar 5V es más fácil en mi circuito y permite velocidades de reloj (internas) más altas para los esclavos.