Issue with MPU 6050 and Arduino Nano


Recently, I took to experimenting with an Arduino nano and an MPU 6050 to simply connect the two devices and determine net accelerations. Over the past few days, however, I have been struggling to get this device to actually work.

I tried to use the MPU6050_DMP6 sketch that came with the library as an example (I have installed the I2Cdev and MPU6050 libraries), but that didn’t work. I decided to dig a little further, and I came across an I2C Scanner:

 // --------------------------------------
// i2c_scanner
// Version 1
//    This program (or code that looks like it)
//    can be found in many places.
//    For example on the forum.
//    The original author is not know.
// Version 2, Juni 2012, Using Arduino 1.0.1
//     Adapted to be as simple as possible by user Krodal
// Version 3, Feb 26  2013
//    V3 by louarnold
// Version 4, March 3, 2013, Using Arduino 1.0.3
//    by user Krodal.
//    Changes by louarnold removed.
//    Scanning addresses changed from 0...127 to 1...119,
//    according to the i2c scanner by Nick Gammon
// Version 5, March 28, 2013
//    As version 4, but address scans now to 127.
//    A sensor seems to use address 120.
// Version 6, November 27, 2015.
//    Added waiting for the Leonardo serial communication.
// This sketch tests the standard 7-bit addresses
// Devices with higher bit address might not be seen properly.

#include <Wire.h>

void setup()

  while (!Serial);             // Leonardo: wait for serial monitor
  Serial.println("\nI2C Scanner");

void loop()
  byte error, address;
  int nDevices;


  nDevices = 0;
  for(address = 1; address < 127; address++ ) 
    // The i2c_scanner uses the return value of
    // the Write.endTransmisstion to see if
    // a device did acknowledge to the address.
    error = Wire.endTransmission();

    if (error == 0)
      Serial.print("I2C device found at address 0x");
      if (address<16) 
      Serial.println("  !");

    else if (error==4) 
      Serial.print("Unknown error at address 0x");
      if (address<16) 
  if (nDevices == 0)
    Serial.println("No I2C devices found\n");

  delay(5000);           // wait 5 seconds for next scan

I tested it, and found that I was never able to find any I2C devices. My circuit is as follows:

[MPU6050 pin → Arduino NANO pin]
A0 → GND
INT → D2
SCL ->A5
SDA → A4
VCC → 3v3

Please let me know if you have any ideas on why this might not be working, and feel free to ask more questions about my setup if it would facilitate that!

Thank you!

Since the MPU6050 is a 3.3V device, you might have destroyed it by connecting it to a 5V Arduino.

However, there is not enough information in your post to decide if that is the case. You need to post a link to the exact module you have.

It is always best to use a level shifter when making such connections.

For other suggestions on how to get more helpful responses, please read and follow the directions in the "How to use this forum" post.