Description
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.
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:
Please let me know if there is any additional information or testing I can provide and thanks for your help.