-
Notifications
You must be signed in to change notification settings - Fork 1.3k
SH1107 OLED FeatherWing Display Issue with Feather RP2040 #4498
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
A quick update: I took a look at the SH1107 Datasheet to see if I could find anything that stuck out pertaining to the I2C interface and noticed it lists the maximum SCL Clock Frequency as 400 kHz (page 54). I believe the I am not sure why this seems to only be happening with the Feather RP2040 and not the Feather STM32F405. I then tried this using a QT Py Haxpress to see if an M0 chip behaves like the RP2040 and it does not with So while I have found a viable workaround for making my SH1107 OLED FeatherWing work with the RP2040, there is still the question of why this is happening with the RP2040 but not the M0 or STM32 chips, as well as the issue that the sample code for the SH1107 driver uses |
Another one. Just adding for tracking: |
This appears to be fixed by raspberrypi/pico-sdk#273, which we are adding to CircuitPython as a PR to our fork of the |
@dhalbert, I just tested the sda-hold-time-fix.uf2 firmware on my setup described above and it seems to work as well now using |
This is a core circuitpython issue, so transferring to https://github.com/adafruit/circuitpython |
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:
I have also tried initializing the I2C bus using
i2c = busio.I2C(board.SCL, board.SDA)
instead ofi2c = 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.
The text was updated successfully, but these errors were encountered: