Pico and RTC not connecting with SSD1306

Have Pico and RTC (Waveshare CE07656) connected via i2C.
OLED SSD1306 connected via Quiik connector.
I have been able to communicate between Pico and RTC but get errors connecting with the OLED SSD1306.
“PiicoDev could not communicate with module at address 0x3C, check wiring”
SSD1306 display okay with another Pico on its own. But cannot resolve possible address conflict when RTC and SSD1306 connected at the same time.
Problem appears to follow the particular Pico. Have tried reflashing Micropython. Changed dip switch on SSD1306. have tried using Piicodev splitter. No resolution. Does this issue sound familiar?


Hi Steffan,

Would it be possible to send through a photo of how you have everything connected?

I’d check out the PiicoDev connection guide alongside this forum topic.

Let us know how you go getting everything going!

Refer attached photo of setup.
The ds3231.py has the following addressing
I2C_SDA = 20
I2C_SCL = 21

PiicoDev_SSD1306.py and PiicoDev_Unified.py have settings for SDA and SCL.
with SDA = 8 and SCL = 9

Not sure if this is the area for change. I have tried altering these settings but still cannot get SSD1306 to work without error.
The Pico works okay with RTC and prints out time to screen.
Removing the RTC, the Pico is still unable to connect to SSD1306.
The same display works with another Pico so have excluded the display and Quiik cable.

Replacing main.py returns Pico to normal as this was a copy of ds3231.py. Looks like SDA SCL addressing issue in one of the files

Yes! I can confirm I have the same issue when your core electronics guide as listed here: PiicoDev OLED Module SSD1306 - Raspberry Pi Pico Guide - Tutorial Australia

Everything from the console spamming out

PiicoDev could not communicate with module at address 0x3C, check wiring

to something you didn’t mention, which was, my display would actually work, but only in the top half (roughly) and the bottom half would be garbage.

I uploaded an example video showing my issue to YouTube (as we can only post photos inline): SSD1306 Not working example - YouTube

I have however found a cut down version of the ssd1306 python library that does work on the same device and display and will most likely upload it to my GitHub account soon as I’m sure I’ll be using it in other projects. But regardless, it would be awesome to figure out the root cause for future people trying to get started with this display :slight_smile:

– Tim

Ok so I finally got around to uploading the simplified driver and I also adapted the example code to work with it.

You should be able to find the repo here:

If you are using a Pico and the PiicoDev OLED display as you photo suggests, then it should be as simple as copying the ssd1306 driver and the example to the pico and running it. Hopefully this can help out the community until the offical example can be updated but please let me know if you run into any issues with it :slight_smile:

– Tim