Nothing to be fixed but thought I would show people my observations with the OLED screen.
After around 6 months I've got slight burn in!
If anyone is interested in an update.. here it is a year and a bit later:
Hm.. What does your control program do? Do you repeatedly overwrite the OLED screen buffer as fast as possible or do you only modify it when it needs to be updated?
Maybe try inverting the colours the reduce the burn in?
There's nothing to do with it. Either repeatly updating the display or just changing it from time to time, if it is a 24h/7d power on display the OLED will decay. This is one of the reasons why OLED is not widely implanted.
I also had a 24h/7d OLED. It was a pong-clock. Was on during 3 years until I finally shut it off because you ould not longer see the clock time in the display because it's decay.
For long time powered on displays is better to use LCD or e-ink.
@Carlos-Sancho Than you should cycle through different colors and think about duty cycles. Do you absolutely need it on ALL THE TIME? Perhaps you can add a pushbutton to bring up a reading? In industrial plants that I've seen, this is what they do as constantly replacing LCD screens (or bulbs, depending on the age of the equipment) gets terribly wasteful and expensive.
And since it is the internet we're connected to, perhaps have an always on message bus, with the screen displaying when the pushbutton is pressed to compare network connectivity. It'd be a quick way to verify that your code or the network hasn't gone stale from a remote monitoring station, and it'd also protect you from burn in.
A final alternative is to add scrolling animations, or cycle which measurement is scrolling via above pushbutton.
Basically, add a button as a "JIT" duty cycle enabler. You'll be happier you did, and you don't even need to write software to create an electronic interrupt using a BJT or whatever. It'd be a nice experiment in low cost/low power/no code solutions.
In my case it was a desktop watch so logically it was powered on 24/7.
OLED displays are not like CRT. CRT tubes only decay when there is a long exposure to the front phosphor so as long as you do display changes (like screen saver) screen will be fine.
OLED displays does not work like CRT. Each OLED pixel has a short life span when powered, so doing 'screen savers' will not work as they will still power on the pixels. Will last a bit longer, but the OLED display is condemned since is power on.
The only good solution would be as you said, is having the display off, push a button, display info for 10 ~ 30s, then power it off again.