I2C SSD1306 and SD3132

I have a problem reading the SD3132 RTC on my ESP8266 (12E).

I have both devices hookdup on the same bus and use 4,7K pullup resistors.

The SD3132 works fine until I add :

SSD1306 display(0x3c, 5, 4);
display.init();
display.clear();
display.drawString(0, 0, “Display Ready”);
display.display();

to the code.

It garbels the time I get back form the RTC

The RTC code is :

RtcDS3231 rtcObject(Wire);
RtcDateTime currentTime = rtcObject.GetDateTime(); //get the time from the RTC

Any ideas what I am doing wrong ?

Any ideas what I am doing wrong ?

You forgot to post the wiring diagram, the links to the used hardware and your complete code. Are you using the Adafruit library for the SSD1306?

Ok I found what was wrong:

The ssd1306wire library sets the wire clock to 700000Hz. It seems that the RTC can not handle this.
I fixed it by adding "Wire.setClock(100000L);"

SSD1306Wire display(0x3c, D2, D1);
Wire.setClock(100000L);

Now it is working perfectly