Tuesday, 26 September 2017

arduino - I2C 3.3 to 5.0 V conversion


I'm trying to interface a 3.3V I2C device to a 5V Arduino.


I don't have any problem with SCL line. I can use a simple voltage divider but I have an issue with the SDA line as this is bi-directional.


I'm not at all sure how to handle this. I have though of adding a pair of diodes, with a voltage divider on the slave input side and nothing extra on the master input.


Are there any other solutions?



Answer



Good document about the subject is Bi-directional level shifter for I2C-bus and other systems which uses a single mosfet as a bi-directional level shifter.


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...