Převodník 5V a 3.3V pro I2C

Raspberry Pi má pouze 3.3V GPIO a bohužel 5V nekompatibilní takže pokud chceme komunikovat po I2C i s 5V zařízeními tak musíme použít obousměrný převodník 5V to 3.3V abychom si nepoškodili GPIO na Raspberry. Na netu jsem našel od Philips pěkný popis jak si převodník postavit (pdf od philips zde).
Převodník je založen na pár levných součástkách (mosfety a odpory). Princip fungování převodníku je popsán v návodu od Philipsu, který jsem zmiňoval výše. Pro svojí potřebu jsem si vybral odpory a mosfety v smd. Pro jeden převodník budem potřebovat:

  • 2x BSN20 (mosfet, 2.80Kč)
  • 2x odpor 3.3k a 4.7k (1kč kus)
  • 6x pin hřebínek
  • kousek kuprexitové desky (3x3cm)

Schéma desky s dvěma převodníky pro SDA a SCL. Vývody z převodníku jsou řešeny jako piny:

Výsledná deska k nanesení na kuprexit (tisknout tak jak je!!! žádný zrcadloví převrácení):

Osazený a zapojený převodník:

Doporučuji prvně vyzkoušet převodník na 3.3V na obou stranách tím zjistíte jestli je správně napájen, osazen a až po otestování zkusit zapojit 3.3V a 5V. Převodník na fotografiích jsem vyzkoušel s kompasem cmps10 jak na 3.3V tak 5V a funguje uplně bezproblémově. Převodník lze využít na všechny digitálně zaměřené spojení na pinech typu 0V nebo 3.3V.