sh1106 oled with custom pcb have faded output

Hey, I made my own PCB for one of the sh1106 1.3" displays. I can get the I2C to work and get an image on the screen but the image is off by 75-50% and the backlight is off too. The display is really unpredictable with my PCB while it works well with the original PCB. What can be missing? I tried changing capacitors and resistors. nothing helped.

sh1106 Datasheet
my schematics:

the original schematics:

display output:

I have been trying to figure this out for a while but just can't wrap my head around it. Any help is appreciated. The pictures are bigger if opened in new tab.


Your problem description is confusing.

  1. You mention SH1106, but the schematic shows SSD1306. Not a big difference, but for the charge pump it matters
  2. You mention backlight, but there is no backlight for OLEDs
  3. You write "off by 75-50%". What does this mean? The picture looks more like a software problem. Please post the code here.


I mentioned backlight but what I meant is that the display is just dim. Operating at 10% brightness. If I apply 3.3v to one of the power pins bypassing the cap I get full brightness. (power issue/capacitor?)

the display is off by 50-75% meaning that the image I apply is shifted upwards. showing sometimes 25% sometimes 50% of it. The same time it is having a visible refresh going on that does not appear on other the other displays. This is not a software issue as the display have been desoldered from a driver board where it worked with the same code and moved to my own board where it does not. Another problem is that the display is unreliable. I have to pull out power and insert it back sometimes 9 times to get ANY image on my PCB. Usually, it is just black.

on this image, both displays are running the same code. while one of them is dim and the image is off by good 70%

here I am applying 3.3v to one of the power pins bypassing the capacitor. The image is brighter but not 100%

To me it looks like that the internal charge pump does not work correctly. Either your caps are wrong (do NOT use electrolytic caps) or there is some solder issue.