i2c unknown error at (nonexistent) address 0x7c?

My i2c scanner sent me an interesting message this evening. It correctly identified the two i2c devices on the local bus: FRAM at 0x50 and a Chronodot RTC at 0x68. But then it reported an "unknown error" at device 0x7c. No such device on the bus, and that code is shown in the "i2c addresses" lists as "reserved for future use."

Any idea why my scanner would see a phantom device on the bus? It's seeing into the future? :slight_smile:

Also, if I am running my i2c bus at 3.3v, do I still use 4k7 resistors for pullups? or should that value be changed because of different voltage?

[some hours later] Ahem, well yes I should have googled that 2nd question.

https://forum.arduino.cc/index.php?topic=6231.0

Tazling:
Any idea why my scanner would see a phantom device on the bus? It's seeing into the future? :slight_smile:
3.3v I2C pullup resistors? - Frequently-Asked Questions - Arduino Forum

You can verify if that fictitious device still exists by executing the following codes:

#include <Wire.h>

void setup()
{
   Serial.begin(9600);
   Wire.begin();

   Wire.beginTransmission(0x7C);
   byte busStatus = Wire.endTransmission();
   if(busStatus == 0x00)
   {
      Serial.println("An I2C device found at address 0x7C...!");
      while(1);
    }
}

void loop()
{

}

Any idea why my scanner would see a phantom device on the bus? It's seeing into the future? :slight_smile:

My guess is an electrical problem. Probably the bus capacitance it too high for the used pull-ups and the idle state isn't always reached in time, so the FRAM might have seen it's address on the bus although the Arduino sent a different address.

Post a wiring diagram and a (sharp) picture of your complete setup.