I2C problem with UNO Wifi Rev2

Hi. I am having I2C communication problem.
I used to use UNO Rev3 and I2C communication was fine with external MPU6050(address = 0x68)
But recently I changed to new board UNO Wifi Rev2.
And I tested new board with external MPU6050(address = 0x68), but it doesn’t work.
So I scanned I2C devices with I2C_scanner.ino which I got from google search.
But result was this.
14:33:33.297 → Scanning…
14:33:33.331 → I2C device found at address 0x60 !
14:33:33.365 → done
14:33:33.365 →

Scanner can’t find MPU6050(address = 0x68).
But new one with address 0x60.

I have two questions.

  1. Does UNO Wifi Rev2 have I2C device with address 0x60?
    From schematic, Wifi/Ble1 has also SCK, SDA port.
    Is the device which use 0x60 address Wifi/Ble1 ?
  2. What’s wrong with MPU6050 I2C? I can’t find that device.

Thanks.

// --------------------------------------
// i2c_scanner
//
// Version 1
// This program (or code that looks like it)
// can be found in many places.
// For example on the Arduino.cc forum.
// The original author is not know.
// Version 2, Juni 2012, Using Arduino 1.0.1
// Adapted to be as simple as possible by Arduino.cc user Krodal
// Version 3, Feb 26 2013
// V3 by louarnold
// Version 4, March 3, 2013, Using Arduino 1.0.3
// by Arduino.cc user Krodal.
// Changes by louarnold removed.
// Scanning addresses changed from 0…127 to 1…119,
// according to the i2c scanner by Nick Gammon
// https://www.gammon.com.au/forum/?id=10896
// 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()
{
Wire.begin();

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

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

Serial.println(“Scanning…”);

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.
Wire.beginTransmission(address);
error = Wire.endTransmission();

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

nDevices++;
}
else if (error==4)
{
Serial.print(“Unknown error at address 0x”);
if (address<16)
Serial.print(“0”);
Serial.println(address,HEX);
}
}
if (nDevices == 0)
Serial.println(“No I2C devices found\n”);
else
Serial.println(“done\n”);

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

I believe it's the ATECC608A crypto chip on the Uno WiFi Rev2 that's showing up at I2C address 0x60.

Note that, unlike your Uno Rev3, the Uno WiFi Rev2 does not have I2C on the A4 and A5 pins. I2C is only available on the pins marked SCL and SDA.

1 Like

I connected sensor’s SCL, SDA line to Board’s digital 1st, 2nd pin which labeled “SCL”, “SDA”.

<update contents. 19.May.24th>

Finally I decided to change light sensor. New one is BH1750FVI that use I2C.
And all woks.
New sensor is scanned by I2C scanner program.
Was it old sensor’s problem?
But old one works fine with both UNO and Mega board.
Still confused with wifi rev2 board…