A Bidirectional Logic Level Converter (for I2C)

by janw in Circuits > Sensors

31111 Views, 41 Favorites, 0 Comments

A Bidirectional Logic Level Converter (for I2C)

SDC11728.JPG
SDC11730.JPG
SDC11731.JPG
SDC11734.JPG
When working with sensors and microcontroller or arduino's, you'll need a level converter as a lot of sensors are designed for 3,3V and most microcontrollers will be 5V.

I know that they can be bought cheaply at sparkfun and others but when you only want to buy one converter you might pay more for the shipping than for the actual thing. And besides that, it is a simple thing to make.

You only need two bss138 mosfets, four 10k resistors, two sets of male headerpins and a pcb or a piece of veroboard.

The Circuit.

converter.png
converterpcb.png
There is not much to tell about te construction of this circuit. Connect the gates directly to 3,3V, the sources via a 10K resistor to 3,3V and the drains via a 10K resistor to 5V.

Then make yourself a nice PCB-layout or find yourself a small piece of leftover veroboard and head to the next step.

Downloads

Soldering and Hook Up

SDC11711.JPG
converter2.jpg
Solder everything together. There are only 8 components so it shouldn't take long before you can add it to your breadboard.

I added a picture with the connections on it. The sda and scl could be swichted aslong as you switch them on the other side too.