Bottom half of PiicoDev OLED screen random pixels

Whenever I run code with my PiicoDev OLED module the bottom part of the screen becomes filled with random pixels and overlaps whatever I’m trying to print to it. The code I run on it (Im ran the OLED sample code in the picture) will also move across the screen, any help is appreciated!

Hey Franco,
Welcome to the forums!

There are a couple of things that can cause that issue, I would recommend checking the connections of the cable as a first step. Has it worked fine previously or has this been an issue from the beginning?


Hi Blayden,
This has been an issue from the beginning, I’ve also checked the cable connection and tried other cables but no luck

Hey Franco,

If you could send us an email about this, we can get it fixed up for you, if you have gone through those steps, its likely a hardware issue or its been damaged somehow (as much as we ship our products as protected as possible we sometimes have issues with damaged items if they are handled extra rough).

Send that through to us via email and we can get it fixed up for you.


Thanks Blayden, will do!

Hey, @Franco243461 - I observed the same thing last Friday with my OLED.

The first stable release of MicroPython (v1.20.0) for the Pico W came out a little while ago. One of the changes was to add a timeout to I2C transactions which broke OLED operation - the default value appears too low for the large OLED-update transaction.

We updated the same day (commit details) to address this - I raised the bus frequency to 400kHz. I’m curious to see whether the OLED behaves if you re-download from the OLED Tutorial.

1 Like

Good morning. I found a similar problem with the OLED connected to a Pico. The python code reported unable to connect to the I2C bus. i removed all other connections (pins 15 to 10), no change. I replaced the cable to the OLED, no change. I tried the second connector on the OLED, no change. I tried a second OLED, no change. I tried the first OLED on another Pico, it worked. I tried a second OLED on the first Pico, did not work, same issue. This all pointed to the first Pico - I swapped it for the second Pico, now works. So issue appears to be with first Pico. This pico was programmed to work with two rotary encoders (same as in CE tutorial) using pins 15 through 10. I haven’t pursued further (eg re-setting the first pico) as I needed to get back to my original goal. However, hope helps.

I noticed this issue with my display when I upgraded to v1.20.0 on the Pico W.
I can confirm your change to fixes the issue.

Thanks Michael!