Skip to content

New AutoDetectDisplay for SH1106 and SSD1306 - #3651

Merged
ripplebiz merged 1 commit into
meshcore-dev:devfrom
liamcottle:feature/auto-detect-display
Oct 21, 2026
Merged

ripplebiz merged 1 commit into
meshcore-dev:devfrom
liamcottle:feature/auto-detect-display

Conversation

@liamcottle

Copy link
Copy Markdown
Member

This PR adds a new AutoDetectDisplay class which probes for an SH1106 display, or falls back to using the SSD1306.

The WisMesh Pocket v2 requires the SSD1306 driver, and the WisMesh Pocket v3 requires the SH1106 driver.

With this PR, we won't need to introduce a new variant specifically for the WisMesh Pocket v3, as it can now continue to use the existing RAK4631 variant.

Display detection is done at runtime, so both display drivers need to be compiled in. The UIColor theme variables were complaining about redeclaration, so I've opted to make one of them weak for now. There is likely a better way to go about this, but both drivers have the same values, so for now it's not important.

The SSD1306 is not auto detected, and is instead used by default if the SH1106 is not detected. Some of these displays and their cheap clones don't report status correctly. So adding detection here might break some boards.

We can look to add dynamic detection for the SSD1306 later if required, and potentially expand this to other display drivers.

The RAK4631 variant has had all env targets updated from SSD1306Display to AutoDetectDisplay.

@ripplebiz
ripplebiz merged commit 02c9922 into meshcore-dev:dev Oct 21, 2026
15 checks passed
@liamcottle
liamcottle deleted the feature/auto-detect-display branch October 22, 2026 08:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants