OLED 0,96" vs. 1,3"

frohr

Well-known member
Hi all,
I have Teensy 4 and two OLED displays. 0,96" works fine but on 1,3" I can see just random points.

My code is:

Code:
#include <Wire.h>               // SCL pin 19, SDA pin 18
#include <Adafruit_GFX.h>      
#include <Adafruit_SSD1306.h>   

Adafruit_SSD1306 display(128, 64, &Wire, -1, 1000000);  

void setup()
{
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
  delay(100);
  display.clearDisplay();
  display.display();
}

void loop()
{
  display.clearDisplay(); // clear buffer
  
      display.setTextSize(1);
      display.setTextColor(1);
     
      
      display.setCursor(50,50);
      display.print("test");

      
    display.display();
    delay(1000);
  }

Code and connection is the same.
Maybe you can help me find where is poblem.
Thanks a lot.


oled1.jpg
oled2.jpg
 
I would not be surprised if the 1.3" display is on another I2C-address. The zero ohm resistors near the 4 pin connector are differently strapped.
Did you run the I2C scanner example sketch on both displays? [Examples > Wire > Scanner]

Paul
 
You also may want to try to run at a lower I2C clock frequency:
Code:
Adafruit_SSD1306 display(128, 64, &Wire, -1, [COLOR="#FF0000"]400000[/COLOR]);

Paul
 
Scanner shows me the same address for both displays, 0x3C.

I tried change frequency but no change.

oled3.jpg
 
Allright. Now it's time to measure whether pullups are present the I2C lines.
With the display disconnected from the Teensy, measure with an ohm-meter between the SDA pin and GND and between the SCL pin & GND.

Paul
 
OK, I added 2x 4.7k - see picture - is it correct or wrong assembly? I have the same wrong result. I tried change frequency, no change.
oled4.jpg
Thanks
 
Looks OK to me.
Could it be that your 1.3" OLED has a different controller, like the SH1106? [I see 1.3" OLEDs offered with that SH1106 controller]
 
Last edited:
When searching further about the difference between an SSD1306 and a SH1106, I saw some display pictures looking very similar to your picture in message #4.
Here is such a thread.
And another thread. The solution is in message #11 of this thread.

Hope this helps,
Paul
 
Great! [nice demo to show appreciation, haha]
What was the issue in the end? Was it indeed an SH1106 controller on the 1.3" OLED?

Regards,
Paul
 
When searching further about the difference between an SSD1306 and a SH1106, I saw some display pictures looking very similar to your picture in message #4.
Here is such a thread.
And another thread. The solution is in message #11 of this thread.

Hope this helps,
Paul

I just running SH1106 1.3” display with Adafruit_SH1106 with your optimisation for T4 I noticed some problems. It’s really slow down T4, it affects for example elapsedMillis functions and everything else too. If I use 0.96 SSD1306 display with SSD1306 library all working perfectly good.

I just wondering what I can do inside SH1106 library for improvement performance.
 
Back
Top