# OLED error in Pico W lesson 25

**URL:** <https://forum.sunfounder.com/t/oled-error-in-pico-w-lesson-25/4193>\
**Category:** Learning kit for Raspberry Pi\
**Created:** [January 1, 2026, 8:22pm UTC](https://forum.sunfounder.com/t/oled-error-in-pico-w-lesson-25/4193 "2026-01-01T20:22:41Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![kbeck](https://avatars.discourse-cdn.com/v4/letter/k/97f17d/32.png) [@kbeck](https://forum.sunfounder.com/u/kbeck)\
**Post date:** [January 1, 2026, 8:22pm UTC](https://forum.sunfounder.com/t/oled-error-in-pico-w-lesson-25/4193/1 "2026-01-01T20:22:41Z")

</div>

Following along with lesson 25,

writing the same code as in the

lesson to display “Hello World!”, I get

an error message instead of it

running. The library for ssd1306 is

loaded. Here is the error message:  
MPY: soft reboot  
Traceback (most recent call last):  
File “”, line 5, in   
File “/lib/[ssd1306.py](javascript:void(0);)”, line 119, in _\_init\__  
File “/lib/[ssd1306.py](javascript:void(0);)”, line 38, in _\_init\__  
File “/lib/[ssd1306.py](javascript:void(0);)”, line 75, in init\_display  
File “/lib/[ssd1306.py](javascript:void(0);)”, line 124, in write\_cmd  
OSError: [Errno 5] EIO

> 

I did notice that the name of the

library I loaded looks different from

what was in the lesson but is still

for ssd1306. The program stops at

line 5.

---

<div class="post-metadata">

**Author:** ![SunFounder\_Moderator](https://avatars.discourse-cdn.com/v4/letter/s/34f0e0/32.png) [@SunFounder\_Moderator](https://forum.sunfounder.com/u/SunFounder_Moderator)\
**Post date:** [January 4, 2026, 8:37am UTC](https://forum.sunfounder.com/t/oled-error-in-pico-w-lesson-25/4193/2 "2026-01-04T08:37:20Z")

</div>

Which product’s project example are you currently running?

Based on the error information you provided, the core issue is a communication failure between the Pico W and the OLED screen (SSD1306 driver), rather than the library file being completely unusable (the library loaded successfully, but the error occurred in the write\_cmd function related to communication).

The possible causes are:

Hardware connection error (incorrect I2C pin wiring, poor contact).

I2C communication parameter mismatch (the I2C port/address in the tutorial does not match the actual hardware).

Library version compatibility issue (different versions of the SSD1306 library may require different initialization parameters).

Unstable power supply (insufficient power to the OLED screen, leading to communication failure).

---

<div class="post-metadata">

**Author:** ![kbeck](https://avatars.discourse-cdn.com/v4/letter/k/97f17d/32.png) [@kbeck](https://forum.sunfounder.com/u/kbeck)\
**Post date:** [January 5, 2026, 3:02pm UTC](https://forum.sunfounder.com/t/oled-error-in-pico-w-lesson-25/4193/3 "2026-01-05T15:02:32Z")

</div>

It turns out that the problem was that the IO pins specified did not work. I moved them to another set of pins and everything worked properly.

Ken
