another case of cheap OLED with "not much sign of life"

I do have a simular issue like in topic 239946.0 that I found here. Ordered a cheap I2C OLED from ebay that says ADD ADRESS 0x78 on the backside and was named to be a 128*64 SH1106 device.

But with trying all things I found so far, I only made it flicker... * I started with the Adafruit libraries and selected 0x3C ad device adress * then tried the u8glib * added pull up resistors * tried even if the naming on ebay was wrong and its a SD1306 * run the i2c scanner that found no device

As it flickers, it should not be really broken, IMHO. Is there any other tip or thread that might help? :(

$1.95 from AliExpress.

I’d recommend not buying parts through EBay when you can go direct to the manufacturers on AliExpress.

And order 5-10 or more of things depending on the price.

Buying multiples allows you to preserve your projects and ensures that if there’s a bad board, it’d be very unlikely that all or even the majority are bad.

When looking for parts of AliExpress sort by orders so you see what most people are buying which helps ensure you get good parts from reputable sellers.

You may just have your SDA and SCL wires flipped around.

For I2C you don’t need pullups. Just run PWR, GND, SDL and SDA and it will work if it’s not a bad board.

Swap your SDL and SDA lines and see if the I2C scanner sketch comes back with anything.

Also check and see if your Ardunio has bad IO pins. You can run SDA and SDL out of any of your digital outputs.

bkucenski: You may just have your SDA and SCL wires flipped around.

For I2C you don't need pullups. Just run PWR, GND, SDL and SDA and it will work if it's not a bad board.

Swap your SDL and SDA lines and see if the I2C scanner sketch comes back with anything.

Also check and see if your Ardunio has bad IO pins. You can run SDA and SDL out of any of your digital outputs.

...I of course checked multiple times if SCL and SDA are on the right pins (A5 and A4)... I might check if any of the other I2C boards I attached to exactly this NANO still work... ...but it seems then, sadly, that this OLED might be really bad. it was 3€ on eBay, coming directly from ShenZhen, but not from the manufacturer, i guess.

thanks for your help

Post a picture of the back of your board. I suspect it may be one of the boards that has a uni-directional SDA line and does not ACK a transfer, thus it does not show up on an I2C scanner. It is very likely it will work fine if you choose and configure the right library. I think the u8glib library has a mode that supports these displays, but I have not tired it.

The quality of goods from ebay suppliers are no different to those on Aliexpress in my experience, vendors on both sites supply goods from multiple sources. The vendors know little about the product they are selling and often get information wrong, this is the penalty you have to accept for the cheapness of the products.

Here is a picture from the backside drawn from eBay, as I’m currently at work :slight_smile:

I tried u8glib and found some options like “128x64 SH1106 no ACK” that I tried out, but it made no difference. btw., to make it flicker worked best when trying to use one of the SD1306 settings… I have no idea if this means something…

oled.jpg

When you get home compare the JPEG that you posted with the actual device on your desk.

Report any differences e.g. pcb traces are a different shape or components in different places.

Yes, Ebay shops often lie.

I have a display that matches your JPG. It has a SH1106, can ACK, works fine.

David.

david_prentice:
I have a display that matches your JPG. It has a SH1106, can ACK, works fine.

mine home is really identical.
then it must be bad.
Non of the settings for SH1106 in the “hello world” example of u8glib worked :frowning:

thanks for your help !!!

U8glib is deprecated. Use u8g2lib now.

I connected my identical display to a 3V Uno clone. But it should work with a 5V board. Ran the GraphicsTest example from u8g2lib with this constructor:

U8G2_SH1106_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);

It worked fine. This was the important part of the build report:

Using library U8g2 at version 2.24.3 in folder: C:\Users\David\Documents\Arduino\libraries\U8g2 
Using library SPI at version 1.0 in folder: C:\Program Files\Arduino-1.8.8\hardware\arduino\avr\libraries\SPI 
Using library Wire at version 1.0 in folder: C:\Program Files\Arduino-1.8.8\hardware\arduino\avr\libraries\Wire 
"C:\\Program Files\\Arduino-1.8.8\\hardware\\tools\\avr/bin/avr-size" -A "C:\\Users\\David\\AppData\\Local\\Temp\\arduino_build_615150/GraphicsTest.ino.elf"
Sketch uses 22890 bytes (70%) of program storage space. Maximum is 32256 bytes.
Global variables use 1810 bytes (88%) of dynamic memory, leaving 238 bytes for local variables. Maximum is 2048 bytes.

Double check your Dupont jumper wires. Post a photo.

David.

I felt full of hope with this hint for u8g2lib, and I also tried every variant found in the https://github.com/olikraus/u8g2/wiki/u8g2setupcpp#sh1106-128x64_noname-1 section of settings for this kind of display. But still, nothing but some useless flickering.

I double-checked the wires and also connected a I2C ChronoDot to the same A4/A5 connection of my Nano (and this still works, as always). I think there is no other explanation then: this mini display is crap.

Thanks for your help again!

david_prentice: I connected my identical display to a 3V UNO clone.

Somewhat tangential, but what on earth is a 3V UNO clone?

A Uno with switchable 3V/5V GPIO. I have two Seeeduinos and one Open-Smart board.

Life is much simpler wih 3V GPIO. You do not need to mess about with level shifters.

Yes, I know that 16MHz is out of spec for a 3.3V ATmega328P. I have never encountered any problems but my boards always operate at room temperature.

David.