Ssd1309/oled 2,42" 128/64. Every second row of pixels has reduced brightness

I tried 2 libraries (u8g2lib, Adafruit_SSD1306) with a ssd1309/oled 2.42" 128/64 display (noname China) and got the same result. Every second row of pixels has their brightness reduced. Except for the center of the screen.

Is this a manufacturing defect?

With u8g2lib I used:
u8g2.drawBox(0, 0, 128, 64);

And with Adafruit_SSD1306 lib I used
display.invertDisplay(true);

Regards,
Sergii

It's even odder than you describe.

Odd rows start off bright and dim towards the end.

Even rows start off dim and brighten towards the end.

That's very strange.

I imagine that the sweep of the lines is zigzag, so the odd lines (if we say the top one is No. 1) sweep from left to right and the even ones do so in the opposite direction, then they all start with a brightness level that decays as the sweep progresses.
It seems like there is a faulty capacitor, perhaps. :thinking:

What is power supplied and power required?

I tried:

  • built-in to Nano 3v3
  • breadboard power adapter 3v3 (AMS1117)

Then I explored this shield schematic:

I found step-down power convertor (U6, XC6206-3.3V) and step-up power convertor (U9, SX1308). Both are tolerant to 5V.
So I also tried:

  • Phone charger (usb 5V)
  • powerbank (usb 5V)
  • battery 3,6 v directly to the oled shield.

In ALL cases - same defect.

I'm thinking about unsoldering the step-up power convertor (U9, SX1308) and supplying 12 Volts from a 12 Volt battery directly to the 12 Volt input of the display. Does this make sense?

Here the video filmed with different shutters (from 1/30 to 1/12000 and back to 1/30). You can see how the screen fills up/refresh.

https://www.dropbox.com/scl/fi/8mh8sytn1pg98nfsvm0v7/20240723_085421.mp4?rlkey=od9j8brvhhs3p61hv8pysmcjo&st=on69u703&dl=0

Here is the oscillogram for the 12V pin (SX1308 output).

image

image

Frequency should be 1,2 mHz, but not 6,5 kHz.
So, step-up converter is broken?