MPU6050 - Logic converter or not?

Hey, I bought this MPU-6050: http://www.ebay.com/itm/MPU-6050-6DOF-3-Axis-Gyroscope-Accelerometer-Module-for-Arduino-DIY-/261231955458

Should I use a 4 channel Bi-Directional Logic Level Converter for the SDA, SCL, INT channels? or can I connect it directly to my arduino nano?

I saw some places that says I should use it with a logic level converter and some who say it’s ok without it. (I guess it depends on the board, so please take a look, link above)

current setup:
SDA <-> LLC <-> A4
SCL <-> LLC <-> A5
INT <-> LLC <-> D2
VCC ← LLC ← 5V (arduino)
GND ← LLC ← GND (arduino)

I still don’t have the parts so I can’t test it, and I’m probably going to use Jeff Rowberg library (MPU-6050 6-axis accelerometer/gyroscope | I2C Device Library)

Thanks alot,
Dan.

What kind of Arduino board are you using ?

An Arduino Uno can be used without level shifter, but reading a 3.3V signal of the SDA or SCL is on the edge of the specification. It will work without level shifter, but to be within the specifications you need a level shifter.

An Arduino Leonardo recognized a logic '1' at a lower voltage. So the Leonardo is compatible with 3.3V signals for inputs.

How to connect the level shifter, depends on what level shifter you have. Some have a 3.3V voltage controller on the board.

arduino nano

That is the ATmega328p microcontroller, just like the one in the Arduino Uno. So it is like I wrote: "It will work without level shifter, but to be within the specifications you need a level shifter".

Hey Erdin, could you explain it a little bit more precisely for me because I don't get it. If he use the sensor with 3.3V or 5V he is always within the specification since his sensor works between 3 and 5V and the sensor will be working perfectly right ? I don't see why he would be on the edge of the specification or outside of it (since you said : "to be within the specification you need a level shifter" I assumed that without it you're not within the specification).

Excuse me if my question seems stupid but I just want to get it =).

It is the Arduino (the ATmega328p microcontroller) that reads a digital HIGH (logical '1').

Datasheet, Page 313, Table 28.2 Vih at 5V = 0.6 * Vcc ... Vcc + 0.5

So the 0.6 * Vcc is guaranteed that it will read a digital input voltage as HIGH.

Suppose Vcc = 5.10V and the sensor is at 3.2V. 0.6 * 5.05 = 3.06 (minimum required)

According to this calculation it is within the specifications. Assuming that the pullup resistor will pull the value above 3.06, it is guaranteed to work. However, the margin is a about 200mV, that is not a lot.

I read other calculations that use 0.7 * Vcc, but the datasheet is clear, for 5V or 3.3V ATmega328p it is 0.6 * Vcc.

Erdin, so I should logic convert only the SDA and SCL pins? and connect directly the INT, VCC and GND to the arduino?

Thanks, I just want to be sure that my sensor won't get fryed up or jammed. (Can't buy a new one..)

I don't know your level shifter. Using a level shifter gives more possibilities to do something wrong.

The board has an onboard voltage regulator. So if you connect Arduino 5V to Vcc of the sensor board, and SDA SCL directly to the Nano, you are fine.

For using the fifo of the sensor, with Jeff Rowberg library, you need that INT to digital pin 2.

I just noticed that the arduino nano can't output 3.3V with external power output, that means I wont be able to use a level converter? (because I can't give the converter 3.3V)

Thanks for helping :)

p.s what problems can a logic converter cause?

The Nano has a 3.3V pin. http://arduino.cc/en/Main/ArduinoBoardNano

I don't know what problem the level converter could cause, I ment it as a common note: the simpler it is, the less chance for error. And it will work without. http://nl.wikipedia.org/wiki/KISS-principe

I use these, they have a 3.3V voltage controller on board. http://www.ebay.com/sch/i.html?LH_BIN=1&_sop=15&_osacat=0&_from=R40&LH_PrefLoc=2&_nkw=i2c+level+conversion+module&_sacat=0 I use them for my 3.3V standalone Arduinos, which are I2C Slaves.

As I said.. the arduino nano 3.3V output is active only when power is coming from the USB, I'm planning to use it from an external source.

Can I use the 5V output and this: http://www.ebay.com/itm/DC-5V-to-3-3V-DC-DC-Step-Down-Power-Supply-Buck-Module-AMS1117-LDO-800MA-/281058278731?pt=LH_DefaultDomain_0&hash=item417060fd4b ?

You mean when using the Vin to power it, there is no 3.3V. That is not possible. Please check it again. If you are sure that is the case, the board is defect.

I wrote Output, not Input

From here: http://arduino.cc/en/Main/ArduinoBoardNano

“when running on external (non-USB) power, the 3.3V output (which is supplied by the FTDI chip) is not available”

Sorry! I somehow didn't read that. After 3 posts of you, I finally got it..... I did check the schematic, and I thought that the FTDI was powered with the same 5V as the ATmega328p. I have a Nano, I should test it someday.

You can use that AMS1117 LDO board, or use the level shifter that I use with onboard voltage regulator.

Thanks alot :)

I tested my Arduino Nano, and the FTDI chip is always powered. This is according to the schematic. I used Vin to power it, and the 3.3V was a valid output of 3.3V.

Perhaps that line about the FTDI chip only powered by the usb is for a previous version.

I guess, you have to test your Nano.