Brauche ich wirklich einen Level-Shifter, wenn ich 5-V-Geräte an einem I2C-Bus mit Pull-ups auf 3,3 V verwende? Nach meinem Verständnis ziehen die Geräte die Leitungen (SDA, SCL) nur nach unten (nach Masse) und leiten niemals ihre Versorgungsspannung zum Bus. Daher sehe ich keinen Grund für einen Level-Shifter, solange alle Geräte die Spannung von den Pull-ups (3,3 V) als logisch hoch erkennen. Dies sollte bei Geräten mit 5V als Versorgung der Fall sein.
In meinem Fall habe ich einen IC, dessen Eingänge als Master nicht 5V-tolerant sind, und ich könnte meine Slaves mit 3,3V versorgen, aber die Verwendung von 5V ist in meiner Schaltung einfacher und ermöglicht höhere (interne) Taktraten für die Slaves.