PiicoDev Display (SSD1306) Error 0x3c on MicroPython 1.23

Board: Raspberry Pi PICO W - 2022
Board Frimware: Latest Verision

Module: PiicoDev OLED 128x64 SSD1306
Module Address: [60] 0x3c
PiicoDev Module Firmware: latest from Core Electronics Github
PiicoDev Unified Firmware: latest from Core Electronics Github Version 1.10.0

IDE: Thonny 4.1.4 (Lastest version)
MicroPython Version: v1.23.0 on 2024-06-02; Raspberry Pi Pico W with RP2040

Script: main.py (demo script)
Source: PiicoDev OLED Module SSD1306 - Raspberry Pi Pico Guide - Tutorial Australia

Error Msg Thonny REPL:
PiicoDev could not communicate with module at address 0x3C, check wiring
Error Description/ Display Output:
I don’t see the count, the bar graphs and plots are rather wild, and the lower half of the screen
displays a bunch of dots.
Note: This is the same error and description as Piicodev SSD1306 Display with Micropython 1.20
(That solution was to update the PiicoDev_Unified library)

Steps Taken

  1. Scanned using I2C.scan ( PiicoDev could not communicate with module at address 0x3C, check wiring )
    Result: [60] ==0x3c hence connected
  2. Replaced PiicoDev cable (short and long) and rescanned and rerun main
    Result: Same Scan, Error Msg, Display Output
  3. Replaced Pico W using same PiicoDev Display (redo Scan and Main)
    Result: Same Scan, Error Msg, Display Output
  4. Replaced Pico W and New PiicoDev Display (redo Scan and Main)
    Result: Same Scan, Error Msg, Display Output

Any advice (Thanks in advance) ?

1 Like

Here is a similar problem: PiicoDev could not communicate with module at address 0x3C, check wiring - #9 by David47467

That’s what it sounds like at the moment - How have you acquired your latest version of the Unified file? Did you download it from the guide (which always links to the latest)?

Repeated here for certainty: PiicoDev_Unified.py

08/07/2024 @ 11:01

Dear Lia262073,
Thank you seen and applied.
No change.

08/07/2024 @ 11:10
Dear Michael,
Thank you for the response.
Qu1) How have you acquired your lastest vesion of the Unified file ?

Ans 1) From the guide I downloaded and followed the install insturctions (as per PiicoDev OLED Module SSD1306 - Raspberry Pi Pico Guide - Tutorial Australia ).
However, Thonny could not install this via Tools → Manage Packages → Local Install → Selected Downloaded Unified File → Error duirng install
Thonny could not install this via Tools → Manage Plug-Ins → Local Install → Selected Downloaded Unified File → Error during install

Error During install:

Ans 2) I have download it using Thonny → Tools → Manage Packages → Search on the PyPl library. This enabled it to be installed into Thonny. I then copied it to the /lib folder on the PICO.

I then compared the PiicoDev_Unified.py above link file to the PyPl file no differences.

I have turned on both PICOs this morning and still have the same syptoms: The top half of the screen displays (although off set) and the bottom half is just dots.

Cheers,
Elliott Pilton

Dear Michael,

AT 11:20am I posted an update, stating that the Unified files are the same.

I have double checked the PyPL library file with the latest linked file (from your post) and they are different. The linked file is newer.

So now the problem is that Thonny install error regarding the new Unified file.

Purpose: Updating the PyPl repository with the latest Unified file.

Thank you once again for your time and attention.

Kind Regards,

Elliott Pilton

Dear Micheal,
Second Proposed solution: In the Thonny directory C:<user>\AppData\Roaming\Thonny\plugins\Python310\site-packages can I replace the old Unified.py files with the new Unified.py files ?

Thank you for time and attention.
Cheers,
Elliott Pilton

Dear Micheal,
I have copy/ replaced all the old Unified.py files in the Thonny directory (see previous post, including the piico_dev folder) and on the PICO itself.

All is working, tested using display demo script.

Thank you again for your time and swift attention to this matter.

Cheers,
Elliott Pilton

Nice @Elliott254134 :slight_smile:

For context, the installation instructions in each guide show how to install PiicoDev by downloading the files directly. The PyPi installation method is only used for Raspberry Pi SBC at the moment. It installs all the available PiicoDev modules, and has a dependency to download and install smbus which is only required by RPi SBCs to drive the I2C bus.
As such, the version of Unified that is distributed with PyPi doesn’t actually contain the updates that were necessary to make the PicoW run correctly with the OLED.

It might be more favourable for us to push this change anyway for consistency, so users like yourself won’t be caught out. We just hadn’t done that yet because the PyPi workflow is intended for RPi SBC and comes with quite a bit of baggage.

Dear Micheal,

The PyPi installation method is only used for Raspberry Pi SBC at the moment. It installs all the available PiicoDev modules, and has a dependency to download and install smbus which is only required by RPi SBCs to drive the I2C bus.
As such, the version of Unified that is distributed with PyPi doesn’t actually contain the updates that were necessary to make the PicoW run correctly with the OLED.

I was not aware of this I must have missed the PI only note. My initial reply to your reply (on hold by the spam filter), mentioned I was unable to install the Unified.py file via that described method (the guide). It resulted in the below error.

/PiicoDev_Unified.py’, ‘–index-url’, ‘http://127.0.0.1:36628’]’ returned non-zero exit status 1.

Hence, why I used the PyPi, route.

Thank you again for your time,

Kind Regards,

Elliott Pilton

1 Like