eu realmente preciso de um deslocador de nível se usar dispositivos de 5V em um barramento I2C que possua pull-ups para 3,3V? No meu entendimento, os dispositivos apenas puxam as linhas (SDA, SCL) para baixo (para o solo) e nunca direcionam sua tensão de alimentação para o barramento. Portanto, não vejo uma razão para uma mudança de nível, desde que todos os dispositivos detectem a tensão dos pull-ups (3,3V) como alta lógica. Esse deve ser o caso de dispositivos usando 5V como fonte.
No meu caso, eu tenho um IC cujas entradas não são tolerantes a 5V como mestre e eu poderia alimentar meus escravos com 3,3V, mas usar 5V é mais fácil no meu circuito e permite taxas de clock (internas) mais altas para os escravos.