I was using my i2c OLED perfectly well when seemingly for no reason I started getting the Remote I/O Error when I ran my Python program. For some reason this was fixed by installing i2c tools again. This seemed to work several times (maybe it was just a strange coincidence). Now this doesn't work and I get the same errors. Another strange thing is that the i2c detect -y 1 is still reporting my OLED on 0x3C.

Here is the error code:Traceback (most recent call last): File "door_lock_code.py", line 13, in <module> disp.display() File "/usr/local/lib/python3.5/dist-packages/Adafruit_SSD1306-1.6.2-py3.5.egg/Adafruit_SSD1306/SSD1306.py", line 182, in display File "/usr/local/lib/python3.5/dist-packages/Adafruit_GPIO-1.0.3-py3.5.egg/Adafruit_GPIO/I2C.py", line 129, in writeList File "/usr/local/lib/python3.5/dist-packages/Adafruit_PureIO-0.2.3-py3.5.egg/Adafruit_PureIO/smbus.py", line 294, in write_i2c_block_data OSError: [Errno 121] Remote I/O error

Can anyone help me out?

Thanks, LouisP

P.S - I know this is similar to other threads but I think my errors are slightly different.

It was hard to capture pictures that were really clear but I have attached the ones I took. On the OLED, black is connected to the pin labelled GND, Red for VDD, Brown for SCK and Purple for SDA.Wiring picture

  • At the very least we need a clear photo of your I2C wiring.
    – joan
    Commented Sep 13, 2018 at 17:40
  • Not really much to see. I have just GND to GND, VDD to 3.3V, SDA to SDA and SCK to SCL. The wiring should be fine as I haven't touched it since I first got it working. Commented Sep 13, 2018 at 18:16
  • The most likely problem is the wiring. I am not going to spend time speculating on other unlikely possibilities without a clear photo of the I2C wiring. Perhaps others will be more willing to speculate.
    – joan
    Commented Sep 13, 2018 at 18:54
  • Okay, will upload a photo in a few days (sorry I am busy this weekend). Will warn you though a clear photo will be hard as I have a keypad and servo wired up as well. Commented Sep 13, 2018 at 18:57
  • 1
    Without a photo of the wiring it will be nearly impossible to help you, even with a bounty. It really sounds like any of your wires are not connected well anymore.
    – Uwe Plonus
    Commented Sep 24, 2018 at 14:35

1 Answer 1


Since this used to work, I suspect that something is wrong with the wiring.

My suggestion is that one or more of the wires has an intermittent fault. I would get a new set of wires, and replace the wires one-by-one until things start working again. Please do not reuse any of the old wires for this test.

You will have to replace the wires while the Pi is turned off and unpowered. To do this more quickly, replace all the wires at the same time.

Another possibility is that the OLED might be faulty, but without more information, I have no ability to deal with this.

  • 1
    Thank you for this. I will change the wires tomorrow and report back. Commented Sep 24, 2018 at 20:30
  • 2
    I have had wiring problems before with RPi and I2C which resulted in IOError. I solved it changing the power and communication cables for new, quality ones (when it wasn't a faulty i2c device)
    – xavigisbeg
    Commented Sep 25, 2018 at 8:04
  • 1
    Thank you for your help everyone! I resoldered the 5V pin, replaced all the wires and now it works again! Commented Sep 25, 2018 at 18:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.