level converter wrong ?

XD hi everyone…glad to meet again…

i’ve got a trouble with my shift level devices wired: :zipper_mouth_face:

when i use only my i2c RTC ds1307 , all is ok but as soon as i connect my gyro mpu6050 , all datas on sda / scl are wrong on my RTC ds1307…
(it’s my first test with my lev_convert …)
here’s my schem…:

if you ever meet this pb…
thank u… :grin:

What is the level shift device? Is it bidirectional? I2C doesn't necessarily need level conversion as its open-drain.

The original picture is here : http://letsmakerobots.com/node/39234 Can you run the i2c_scanner, does it detect both devices ? http://playground.arduino.cc/Main/I2cScanner

:. ok Caltoa and markT ; thank you for all…

i use exactly the sparkfun you talked : http://letsmakerobots.com/node/39234

when i test the scanner i2c it tell’s me i2c device found at adress 0x68 at any time
for my ds1307rtc , and if i disconnctet it , it’s tell’s me the same for my mpu6050 :
i2c device found at adress 0x68

if i connect both all together: same answer : i2c device found at adress 0x68

if i disconnect all of them :
no i2c device found

:fearful: is it a litle bit curious he find the same adress for both ??

Oops, sorry :blush: I should have heard a bell ringing and lights flashing.

There are about 120 possible I2C addresses. The most common devices used with Arduino can be used without problem together. There is one exception : The DS1307 and the MPU-6050. They both have 0x68.

Does your MPU-6050 board have a voltage regulator ? Can you give a link to your board ?

You can set the MPU-6050 to 0x69, by connection AD0 to 3.3V. Don't connect it to 5V ! but only to 3.3V. Use the 3.3V on the board (after the voltage regulator) or the 3.3V pin of the Arduino.

:zipper_mouth_face: yes , i use this one : (3 axes) http://dx.com/p/gy-521-6dof-mpu6050-module-3-axis-gyroscope-accelerometer-for-mwc-arduino-148190#.Uw2zBqI9_Ss can i move the adress to look at the detect way ? i gona try to pull up the i2c bus...i look again to my 5v and 3.3v again...

i'm connected to my usb computer : 5v is 4.97 v and 3.3v is at 3.2 v. :.

Those 5V and 3.3V are good enough. The current used by the DS1307 and MPU-6050 is almost nothing.

Since your MPU-6050 breakout board has a onboard voltage regulator, I suggest to connect Arduino 5V pin to VCC. The board will make 3.3V out of it.

Connect AD0 to the Arduino 3.3V, or somewhere on the MPU-6050 breakout board after the voltage regulator (but that is hard to do).

Run the i2c_scanner and it should detect 0x68 for the DS1307 and 0x69 for the MPU-6050.

You can perhaps attach a photo to show the wiring.

:grin: cause i'm happy !! like the song said

i put ad0 of my mpu to 3.3v, it move me to 0x69...and then every thing is good...my devices works all together, one at0x68 (rtc) and the other at 0x69 (mpu)...i'had just to move it too in my mpu sketch... and sda/scl are not damaged...it's ok. XD

great thank you ...

i show you my wiring...don't be afraid.. it's just before making all clean.. :*

you see my project here : http://ieee.free.fr/ardui/wiring_1.jpg with rtc card and mpu one. and my small converter sparkfun on... http://ieee.free.fr/ardui/convert.jpg

little sd card with is to take values from mpu and rtc ..... i gona make my sketch to do that works all together...


Thanks for the photo's, I can not follow all wires on the photo, but I assume that you have connected it well.

Do both or any of your I2C slave devices have soldered in pullup resistors on the board? I had issues with a Gryo I was trying to use that added extra pullup (since I already had some) and it impacted the data transmissions.