bogdan's (micro)blog

bogdanel » i2c bi-directional level shifter

01:00 am on Jun 1, 2011 | #more | tags:

playing with an arduino and a few boards i've got from watterott i needed a simple solution for safely connecting the 3.3V boards to the 5V arduino's I2C/TWI interface. searching the web i've found an article addressing this problem without using some unavailable chips. the solution uses 4 general purpose NPN transistors and 6 resistors. i've built and tested the bi-directional level shifter and it worked fine getting data from a ITG3200 gyro, an ADXL345 accelerometer and a HMC5843 magnetometer, all connected at once.
I2C Bi-directional Level Shifter 3V3 - 5V