I recently implemented an Adafruit 128x64 OLED display with I2C into a project I'm working on. I had trouble with the display where it stopped updating after a short time running the program. I think the issue is happening in part when an ATTiny85 running as an I2C slave was plugged in on the I2C bus. The ATTiny85 serves as a buffer for a rotary encoder where it will return its displacement since data was last requested from it.
When I try the project code (right now it's just splashing some text on the screen) it works fine on the first upload, but then if I reset the Arduino, the screen just displays noise. It won't display the splash screen if I reupload the code unless I upload some other code first. (I can upload the code if someone wants it, but it has a bunch of class files so I'm not doing it now)
I'm not sure why it suddenly stopped working because I used the ATTiny85 with no problem for a long time before implementing the OLED display and the OLED display worked as well. I haven't changed the code on ATTiny or signifcantly on the Arduino Uno that I can remember. I checked the wiring and there aren't any shorts that I can tell (not that there aren't any.) Additionally, the display runs the demo program for the I2C 128x64 display fine until both SDA and SCL are connected to the ATTiny85. This is especially strange since the demo program does not reference any other I2C devices besides the display.
The address of the OLED display is 0x3D and the ATTiny is 0x6. Code and ATTiny85 wiring diagram here: https://pastebin.com/w0yTrUdg The code on the Arduino Uno is the example program from Adafruit for the 128x64 OLED display with I2C.
I am very confused and any help would be appreciated. Thanks.