Skip to content

SH1107 OLED FeatherWing Display Issue with Feather RP2040 #4498

Closed
@SAK917

Description

@SAK917

When connecting an SH1107 128x64 OLED FeatherWing to a Feather RP2040 via STEMMA QT I2C, the display does not blank on initialization and displays pixelated "noise" when updated.

image

This does not occur when using an SSD1306 1.3" 128x64 OLED Display connected via STEMMA QT I2C to the same Feather RP2040. I have also tested the same OLED FeatherWing on a second RP2040 with the same result. I then tested the same FeatherWing connected to a Feather STM32F405 Express via STEMMA QT I2C and the FeatherWing displayed correctly. Lastly, I tried two other OLED FeatherWing displays and they both had the same issue with the RP2040.

I am able to reproduce the issue with the following code:

import displayio
import terminalio

from adafruit_display_text import label
import adafruit_displayio_sh1107

displayio.release_displays()
i2c = board.I2C()
display_bus = displayio.I2CDisplay(i2c, device_address=0x3C)
display = adafruit_displayio_sh1107.SH1107(display_bus, width=128, height=64)

WHITE = 0xFFFFFF
INIT_STRING = " " * 21
display_group = displayio.Group(max_size=5)
Line1 = label.Label(terminalio.FONT, text=INIT_STRING, color=WHITE, x=0, y=8)
display_group.append(Line1)
Line2 = label.Label(terminalio.FONT, text=INIT_STRING, color=WHITE, x=0, y=20)
display_group.append(Line2)
Line3 = label.Label(terminalio.FONT, text=INIT_STRING, color=WHITE, x=0, y=32)
display_group.append(Line3)
Line4 = label.Label(terminalio.FONT, text=INIT_STRING, color=WHITE, x=0, y=44)
display_group.append(Line4)
Line5 = label.Label(terminalio.FONT, text=INIT_STRING, color=WHITE, x=0, y=56)
display_group.append(Line5)
display.show(display_group)

Line1.text = f"{'1' * 21}"
Line2.text = f"{'2' * 21}"
Line3.text = f"{'3' * 21}"
Line4.text = f"{'4' * 21}"
Line5.text = f"{'5' * 21}"

while True:
    pass

I have also tried initializing the I2C bus using i2c = busio.I2C(board.SCL, board.SDA) instead of i2c = board.I2C(), but it did not make any difference. I have tested this using several versions of CP 6.2.0-beta.3 released over the past week, as well as the CircuitPython 6.2.0-beta.4 on 2021-03-18 release. While the noise seems to be better (fewer noise pixels) with the beta.4 release, the problem is still occurring:

image

Please let me know if there is any additional information or testing I can provide and thanks for your help.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions