The left border of the first two frames is missing. It seems the buffer to display is shifted by two columns to the left.
Consequently, the two rightmost columns of the display are not reachable.
Unfortunately there are some pixels randomly turned on at poweron on the right and I found no way to clean them.
In my application, I can live with x axis starting at 2, but the pixels at the right are quite annoying.
I use the following u8g2 constructor :
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE, D7, D6);
I have tried to fix the offset by using straight SSD1306 commands with u8g2.sendF() with no success.
It seems the u8g2 buffer is wrongly mapped to the display internal RAM.
Is this a defective display ? Any suggestion ?
Thanks.
It was sold as an SSD1306 OLED, confirmed by many pictures on the web. And most of the code works with the wrong library. Seems they only "look" the same as mine !! This is really misleading.
It is always wise to post a link to the item that you bought. e.g. Ebay sale page.
Yes, electronic items are often sold by lingerie shops. They probably have little technical knowledge. But if your item matches the photos in the link, readers can identify what you have bought.
I would hope that these shops can sell the correct size of knickers.
SH1106 is actually 132x64 and not 128x64. However very few libraries use the full 132x64.
Yes, manufacturers could print SH1106 on the pcb. Or even print 132x64
These are "consumer products" being sold by lingerie shops, toy shops, ...
They just have to add the word "Arduino" to an advert. If they provide too much information it might frighten the customer. And they are writing stuff in a language that is foreign to them.
They make life easier for hobbyists. e.g. display mounted on a pcb with header pins ans associated electronics.
An OEM would buy the bare OLED panel to mount on the OEM's custom pcb with other surface mounted components.
However your panel is 128x64. So there is no point in trying to address non-visible pixels.
It is not unusual for a controller to be bigger than the panel.
e.g. 240x400 TFT panels often have a 240x432 ILI9327 controller
e.g. 128x160 TFT panel often has a 132x162 ST7735 controller