# What happened to this SSD1306 display?

**URL:** https://forum.core-electronics.com.au/t/what-happened-to-this-ssd1306-display/13321
**Category:** Support
**Created:** [3 March 2022 12:46 UTC](https://forum.core-electronics.com.au/t/what-happened-to-this-ssd1306-display/13321 "2022-03-03T12:46:34Z")
**Posts on this page:** 14
**Page:** 1

<div class="post-metadata">

### Author: ![Rinat191554](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/rinat191554/32/6359_2.png) [@Rinat191554](https://forum.core-electronics.com.au/u/Rinat191554)
#### Post date: [3 March 2022 12:46 UTC](https://forum.core-electronics.com.au/t/what-happened-to-this-ssd1306-display/13321/1 "2022-03-03T12:46:34Z")

</div>

Hey there people. 👋

Bought my first SSD1306 recently and been using it for maybe around a week. Did a few tests depleting my battery to zero in two days … twice. So display was always on for at least four days. This shouldn’t be a problem right? People use these for years …

It renders weird now. I don’t think I’ve changed any code related to the display and use the same library. But the visual difference is apparent. I’ve moved the text around and the “missing pixels” seem to be moving around with the text.

I use this with ESP32, PlatformIO, C++, U8g2 library for rendering. The only code that changed since I last seen this display was related to deep sleep …

Before  
 ![before](https://canada1.discourse-cdn.com/flex028/uploads/core_electronics/original/2X/4/44354a58573ad4634e674d96e397e95ac90ce591.png)

After

 ![after](https://canada1.discourse-cdn.com/flex028/uploads/core_electronics/original/2X/2/2d956af90f15d7a370db0a1f3aa7c473bf4b01e4.jpeg)

This almost looks like lower resolution font TBH. But I’m pretty sure I didn’t change it.  
Can the hardware glitch this way?  
I understand the conditions aren’t exactly same on these photos but you should see how 5’s are rendered differently. With “power” line being cut off due to screen refreshing while I took video.  
Anyone sees what this might be?

---

<div class="post-metadata">

### Author: ![Jeff105671](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/jeff105671/32/3729_2.png) [@Jeff105671](https://forum.core-electronics.com.au/u/Jeff105671)
#### Post date: [3 March 2022 20:51 UTC](https://forum.core-electronics.com.au/t/what-happened-to-this-ssd1306-display/13321/2 "2022-03-03T20:51:35Z")

</div>

> [@Rinat191554](#):
>
> This almost looks like lower resolution font TBH

To me it looks more like a lower resolution display, rather than a different font. Like it has changed from a 64-line display to a 32-line. Have you recompiled the code? Is it possible the library got automatically updated and changed the default size of the display?

---

<div class="post-metadata">

### Author: ![Rinat191554](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/rinat191554/32/6359_2.png) [@Rinat191554](https://forum.core-electronics.com.au/u/Rinat191554)
#### Post date: [3 March 2022 23:09 UTC](https://forum.core-electronics.com.au/t/what-happened-to-this-ssd1306-display/13321/3 "2022-03-03T23:09:03Z")

</div>

Probably.

I definitely recompiled the code. While I see some recent commits to the library’s main branch, it seems release haven’t been done since 23 Jan. (Their recent change log is rather vague, but I found this version match PlatformIO in their tooling code …)

 ![image](https://canada1.discourse-cdn.com/flex028/uploads/core_electronics/original/2X/f/ff71d855040aeb4372d8d21163b8a8b4d08b0612.png)

I’ve checked programmatically the width and height of the screen are reported as 128x64.

I will also probably be trying another library just in case. The fact that that “5” renders same way wherever I put it indicates that this is probably software.

It’s unfortunate that I didn’t init a git repo and can’t just revert ☹ never make this mistake people.

---

<div class="post-metadata">

### Author: ![Liam](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/liam/32/3562_2.png) [@Liam](https://forum.core-electronics.com.au/u/Liam)
#### Post date: [3 March 2022 23:21 UTC](https://forum.core-electronics.com.au/t/what-happened-to-this-ssd1306-display/13321/4 "2022-03-03T23:21:30Z")

</div>

Hi Rinat,

Welcome to the forum!!

Looks like an awesome project! OLEDs should last years if pixel burn-in is handled (I like the analogy of each pixel having health points and as you use it the HP goes down).

That looks very odd, if you have a Pico on hand I’d do a quick test with the example code: [PiicoDev OLED Display Module (128x64) SSD1306 | Core Electronics Australia](https://core-electronics.com.au/piicodev-oled-display-module-128x64-ssd1306.html)

Let us know how you go!  
Liam.

---

<div class="post-metadata">

### Author: ![Jeff105671](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/jeff105671/32/3729_2.png) [@Jeff105671](https://forum.core-electronics.com.au/u/Jeff105671)
#### Post date: [4 March 2022 00:25 UTC](https://forum.core-electronics.com.au/t/what-happened-to-this-ssd1306-display/13321/5 "2022-03-04T00:25:47Z")

</div>

> [@Rinat191554](#):
>
> I’ve checked programmatically the width and height of the screen are reported as 128x64.

But is your code driving it like it’s 64x32? If the code assumes a default configuration and if the library has changed the default then that could happen. For instance, if the update made the library inaccessible for some reason, and the compiler loaded a different library.

---

<div class="post-metadata">

### Author: ![Rinat191554](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/rinat191554/32/6359_2.png) [@Rinat191554](https://forum.core-electronics.com.au/u/Rinat191554)
#### Post date: [4 March 2022 01:34 UTC](https://forum.core-electronics.com.au/t/what-happened-to-this-ssd1306-display/13321/6 "2022-03-04T01:34:00Z")

</div>

Hey Jeff, thanks for your response!

This is basically the only place where I specify width/height anywhere.

 ![image](https://canada1.discourse-cdn.com/flex028/uploads/core_electronics/original/2X/0/0669b1c7af41703cd3c6617ec9c4b113eac0fd2f.png)

I believe I’m using the right constructor. I understand that it could have changed internally. But it’s unlikely, considering that PlatformIO recorded the library version as below, at the moment I added it:

```auto
lib_deps = 
        ...
	olikraus/U8g2@^2.32.10
	...

```

I definitely started my project after their last release date (23 Jan).

I’ve already tried different version (`olikraus/U8g2@2.32.6` - 5 months old) of the same library with no luck but yet to try completely different library from Core Electronics and let you know how it goes. 👍

Cheers!

---

<div class="post-metadata">

### Author: ![Rinat191554](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/rinat191554/32/6359_2.png) [@Rinat191554](https://forum.core-electronics.com.au/u/Rinat191554)
#### Post date: [5 March 2022 02:15 UTC](https://forum.core-electronics.com.au/t/what-happened-to-this-ssd1306-display/13321/7 "2022-03-05T02:15:17Z")

</div>

@Liam I failed to notice that I need a special MCU for that example project.

I don’t have Pico on hand unfortunately.

So I tested with Adafruit SSD1306 C++ library and the results aren’t better. So on the photo below it says `HELLO WORLD` 10 times using font of 6px height (which actually looks like 3 pixels if we count the dots).

 ![hello_world](https://canada1.discourse-cdn.com/flex028/uploads/core_electronics/original/2X/7/7f48ecf378d34ed9bc09237723b0bdf201daacbb.jpeg)

The text becomes legible and predictable (you don’t see some of the lines get squished) if I enable font scaling over y axis that this library allows you to do:

 ![hellow_world_x2](https://canada1.discourse-cdn.com/flex028/uploads/core_electronics/original/2X/6/6db13a678755ab5765bfd4fed296ec8f19e88818.jpeg)

I get similar effect if I set height to 32 in the display constructor of this library.

I don’t think this is the code anymore. It was very humid recently and I’m thinking maybe this display just broke … If you look at H and compare horizontal density vs vertical density you will see holes in vertical axis and less of those in horizontal axis. 🤷‍♂️

I’m thinking of ordering another one of these to compare.

---

<div class="post-metadata">

### Author: ![Rinat191554](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/rinat191554/32/6359_2.png) [@Rinat191554](https://forum.core-electronics.com.au/u/Rinat191554)
#### Post date: [6 March 2022 01:45 UTC](https://forum.core-electronics.com.au/t/what-happened-to-this-ssd1306-display/13321/8 "2022-03-06T01:45:04Z")

</div>

@Liam can I use regular Raspberry Pi 4b to try that example code? Or do you think I could flash MicroPython on my ESP32 to try it?

---

<div class="post-metadata">

### Author: ![Liam120347](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/liam120347/32/5003_2.png) [@Liam120347](https://forum.core-electronics.com.au/u/Liam120347)
#### Post date: [6 March 2022 01:56 UTC](https://forum.core-electronics.com.au/t/what-happened-to-this-ssd1306-display/13321/9 "2022-03-06T01:56:26Z")

</div>

Hi Rinat,

Both are definitely options, the RPi 4 SBC has been tried and tested so to save time I’d go for that. I’ve done a couple of tests with other PiicoDev modules on different ESP32’s and they’ve worked but can’t confirm that the OLED works.

---

<div class="post-metadata">

### Author: ![Rinat191554](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/rinat191554/32/6359_2.png) [@Rinat191554](https://forum.core-electronics.com.au/u/Rinat191554)
#### Post date: [6 March 2022 09:56 UTC](https://forum.core-electronics.com.au/t/what-happened-to-this-ssd1306-display/13321/10 "2022-03-06T09:56:52Z")

</div>

@Liam Thanks. I’ve tested the `main.py` with the counter. This is how it looks:

 ![image](https://canada1.discourse-cdn.com/flex028/uploads/core_electronics/original/2X/4/478cf2cf3c65ae53c6a814e77be7b2796d5e6a83.jpeg)

I think it’s the device. I’ve already ordered a replacement.

---

<div class="post-metadata">

### Author: ![Anthony164590](https://avatars.discourse-cdn.com/v4/letter/a/9fc29f/32.png) [@Anthony164590](https://forum.core-electronics.com.au/u/Anthony164590)
#### Post date: [9 March 2022 09:38 UTC](https://forum.core-electronics.com.au/t/what-happened-to-this-ssd1306-display/13321/11 "2022-03-09T09:38:52Z")

</div>

I don’t have one of these displays to check, but are you sure you’re passing the constructor parameters in the right order? The source of U8g2lib.h shows this…

```cpp
U8G2_SSD1306_128X64_NONAME_F_HW_I2C(
  const u8g2_cb_t *rotation,
  uint8_t reset = U8X8_PIN_NONE,
  uint8_t clock = U8X8_PIN_NONE,
  uint8_t data = U8X8_PIN_NONE) : U8G2() { ... }

```

REF: [https://raw.githubusercontent.com/olikraus/u8g2/master/cppsrc/U8g2lib.h](https://raw.githubusercontent.com/olikraus/u8g2/master/cppsrc/U8g2lib.h)

---

<div class="post-metadata">

### Author: ![Rinat191554](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/rinat191554/32/6359_2.png) [@Rinat191554](https://forum.core-electronics.com.au/u/Rinat191554)
#### Post date: [9 March 2022 10:03 UTC](https://forum.core-electronics.com.au/t/what-happened-to-this-ssd1306-display/13321/12 "2022-03-09T10:03:22Z")

</div>

@Anthony164590 thanks! That’s a good find. I’m pretty sure copy-pasted it from somewhere 🤦‍♂️ I’ve corrected it … nothing changed in behavior 🤷‍♂️ …

Anyway, the new display has arrived and works perfectly. Just hope that it won’t get to the same state and it’s due to high humidity …

 ![Screen Shot 2022-03-09 at 9.01.51 pm](https://canada1.discourse-cdn.com/flex028/uploads/core_electronics/original/2X/7/73a6fa92ccf55441c412fa887c54f4078e5578bf.jpeg)

---

<div class="post-metadata">

### Author: ![Robert93820](https://avatars.discourse-cdn.com/v4/letter/r/ac91a4/32.png) [@Robert93820](https://forum.core-electronics.com.au/u/Robert93820)
#### Post date: [9 March 2022 10:49 UTC](https://forum.core-electronics.com.au/t/what-happened-to-this-ssd1306-display/13321/13 "2022-03-09T10:49:20Z")

</div>

Hi Rinat  
If it is humidity that affects these displays a thin coat of a conformal coating as used to tropic proof boards may not go astray. I think such material is commercially available but if not a very thin coat of Araldite will probably do the job. I think that is what very early coatings were anyway. I nightmare to replace components back in the days when we had to do that but could be done with care. There were several techniques for that. The Marconi method used clean automotive grease, a very hot soldering iron and a stiff tooth brush. Very effective. Ahhh, weren’t those the days…  
Not the display screen obviously.  
Cheers Bob

---

<div class="post-metadata">

### Author: ![Liam](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/liam/32/3562_2.png) [@Liam](https://forum.core-electronics.com.au/u/Liam)
#### Post date: [11 March 2022 03:03 UTC](https://forum.core-electronics.com.au/t/what-happened-to-this-ssd1306-display/13321/14 "2022-03-11T03:03:05Z")

</div>

Hi Rinat,

Glad to hear the new display is working! It sounds like there might have been an issue with the display, feel free to get in touch with us by replying to your order confirmation email!

PS: we stock some conformal coating here: [https://core-electronics.com.au/search/?q=conformal+coating](https://core-electronics.com.au/search/?q=conformal+coating)  
I havent had the chance to tinker around with it just yet so wont be able to confirm its effectiveness.  
Note that the main driving IC lives inside the black cover and the supporting components live on the PCB

 ![image](https://canada1.discourse-cdn.com/flex028/uploads/core_electronics/original/2X/9/91a4438cccb1cb590fdfb5e5bd16094fab88e57f.jpeg)

Liam.
