Go Down

Topic: gy-80 trying I2C scanner to find address (Read 11201 times) previous topic - next topic


Mar 04, 2013, 06:12 am Last Edit: Mar 04, 2013, 09:31 am by Nick Gammon Reason: 1
Using this code from Arduino page. Not finding any of the four devices.



check wiring ?

if you have any other I2C devices,  scan those and see if they are detected ?

have you considered any other possible values for the variable "error" ?

have you considered all of the implications of 5V vs 3.3V devices ?


Using this code from Arduino page. Not finding any of the four devices.

What four devices?

How to use this forum

Sorry, accidentally edited your post rather than replying to it. Must have hit the wrong button. :(
Please post technical questions on the forum, not by personal message. Thanks!

More info: http://www.gammon.com.au/electronics


Please add links to your product.

This is the board at DX, http://dx.com/p/gy-80-bmp085-9-axis-magnetic-acceleration-gyroscope-module-for-arduino-145912
This is about the GY-80, http://arduino.cc/forum/index.php?topic=120060.0
This is the tutorial a user wrote, http://blog.giuseppeurso.net/ita-multiwii-mwc-10dof-cinese-aka-gy-80-e-arduino-connessioni-e-test-iniziali/index.html

Which Arduino board are you using ?

Did you use this i2c_scanner, http://playground.arduino.cc/Main/I2cScanner
There was a problem with the code, get the code again from that page.

How did you connect the board ?


Thanks Erdin for the extra info.

•1 L3G4200D:Giroscope,
•1 ADXL345: Accelerometor,
•1BMP085: Barometric Sensor,
•1 HMC5883LMagnetometro a 3,

Uno Rev3 board
Gnt to Gnd
5V to Vcc
A4 to SDA
A5 to SCL

Code for scanner from here, yesterday: i2c_scanner, http://playground.arduino.cc/Main/I2cScanner


Can you get that scanner code once more ? It was changed yesterday.
Do you use a breadboard ? Sometimes (many times) they don't make good contact. Try using other pins.
Can you measure the voltages on the sensor board with a multimeter ? The 5V and 3.3V ?

It that is all okay, I'm out of ideas. It should work they way you have connected it.


Here is the code I am trying to use. I just grabbed it this morning. the GY-80 has a 3.3V and 5V connection. I have tried with each and both connected. All yeald the same results. I am serching the web trying different code for the individual chips and some will run, sort of and others I just get nothing. I am completely new to I2C but it makes sense to be able to scan and detect the units to verify the address and that they are comunicating. Is there maybe another way to do this?

Code: [Select]
#include <Wire.h>

void setup()

   Serial.println("\nI2C Scanner");

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


  nDevices = 0;
   for(address = 1; address < 120; 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("Unknow 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


The scanner code is okay.
If the i2c_scanner can't see a I2C device, it can't be used by any code.

I'm sorry, but I have no idea. Perhaps you can check the solder points with a magnifier.

Do you have a I2C module or chip that is working ? Or another Arduino board ?
The next thing to do is to test the sensor board with another Arduino, and test the Arduino with another I2C device.


Hi to everyone, have a nice day, here are the found directions for IMU GY-80 detected with the I2CScanner.
Best Regards



Sorry about the incomplete response but Let me do some probes and I will comment again.

pd. sorry about my english,



The i2c scanner finds all four devices without problems ? That's good.
Now you have to use code for each of the devices.

If you are in luck, you will find a place that supports all 4 sensors.
Check this website, http://www.i2cdevlib.com/
Use the common I2Cdev library, plus the 4 libraries of the devices.
Don't forget to read the documentation about the sensors. To get to know a sensor you might have to read documentation and try the functions. Perhaps 3 hours per sensor to get to know it.


Hello everyone, using this code to find i2c address in GY-80 I am getting a large number of devices found at all the register address..Please suggest a way to overcome this situation 
I2C device found at 0X00 to 0x7F ,I am getting like this


using this code to find i2c address in GY-80 I am getting a large number of devices found at all the register address.

This code?
Code: [Select]

What serial output does that code produce?
The art of getting good answers lies in asking good questions.



I am also using gy-80. Though using i2c scanner I am able to detect the addresses correctly.
But when I tried the code, it is giving me nothing then temperature, 0,0,0,0,0,0,0,0,0. even if I move its providing me the same values.

Can anybody help me in this regards?


I have same problem Im working on GY-80
bmp085 I2C address given as 0x77 on many sources but I cant communicate with BMP085.
I tried I2C scanner and received this result.

I2C device found at address 0x1E  ! 30
I2C device found at address 0x53  ! 83
I2C device found at address 0x69  ! 105

I2C device found at address 0x9E  !    158
I2C device found at address 0xD3  !   211
I2C device found at address 0xE9  !   233

last tree are out of valid address range , scanner gave them when I increased the range.
0x69 is L3G4200D gyroscope and working ok.
is there any possibility other than faulty module?

Go Up