SH1106 OLED display issue

SOLVED - faulty display - caused by fracture of the bottom of the OLED

Summary: my 1.3" OLED display is showing almost unreadable text and is nothing like the output I can see from other examples of this display.

Here is a photo of what my display is showing

My EspHome code is:

font:
  - file: "fonts/Helvetica.ttf"
    id: helvetica_sm
    size: 16
  - file: "gfonts://Roboto"
    id: roboto
    size: 18

i2c:
  sda: 23
  scl: 19

display:
  - platform: ssd1306_i2c
    model: "SH1106 128x64"
    # reset_pin: D0
    address: 0x3C
    lambda: |-
      it.print(0, 4, id(roboto), "Hello Planet!");
      it.print(2, 40, id(helvetica_sm), "Hello World!");

I’ve tried changing model: "SH1106 128x64" to model: "ssd1306 128x64" but I get a scrolling issue at the bottom of the screen. I’ve tried changing fonts and font size with no luck.

My display uses a SH1106 chip according to the spec sheet and I’ve checked this by googling the product ID on the back.

I’ve noticed that the bottom of the second line is close to what it should look like (no gaps between pixels) but changing the offset and font-size, makes the position of where the “complete pixels” are showing, moves around (e.g. its not fixed on the display but appears to be a software thing). So if I change the offset to display the second line a bit lower, I still see the same output with half the text pixelated.

I noticed there is small crack at the bottom of the display glass, below the display itself, so wondering if that is the cause?

EDIT, Pushing on the broken bit seems to make the pixelated display worse or better, so think that is likely the reason…

1 Like

Yes unfortunately is broken the display, the broken part is taking also the part where is connected the flat cable

1 Like