T-mini Eink S3 Support for both InkHUD and BaseUI#9856
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR improves LilyGo T-Mini ePaper S3 support across both BaseUI (classic Screen/EInkDisplay) and InkHUD (NicheGraphics), aiming to enable fast refresh behavior and proper two-way rocker navigation.
Changes:
- Updates the mini-epaper-s3 variant definitions (pins, SD, RTC, LoRa, two-way rocker) and adds a dedicated InkHUD build environment.
- Adds a new UC8175-based NicheGraphics E-Ink driver (GDEW0102T4) and wires it up in the variant’s
nicheGraphics.h. - Adjusts input/sleep handling and InkHUD UI behavior to support a two-way rocker (left/right + center press) instead of a full joystick.
Reviewed changes
Copilot reviewed 18 out of 18 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| variants/esp32s3/mini-epaper-s3/variant.h | Refactors board defines; adds two-way rocker and reorganizes display/SD/LoRa/RTC settings. |
| variants/esp32s3/mini-epaper-s3/platformio.ini | Adds dynamic E-Ink flags and a new mini-epaper-s3-inkhud env. |
| variants/esp32s3/mini-epaper-s3/pins_arduino.h | Updates SPI defaults and USB VID formatting for the variant. |
| variants/esp32s3/mini-epaper-s3/nicheGraphics.h | New InkHUD setup for this board, including driver + rocker wiring. |
| src/sleep.cpp | Enables light-sleep wake for two-way rocker center button (or encoder button). |
| src/input/UpDownInterruptImpl1.cpp | Auto-configures UpDown input pins based on two-way rocker macros. |
| src/graphics/niche/Inputs/TwoButtonExtended.h | Adds API for two-way rocker wiring and handlers. |
| src/graphics/niche/Inputs/TwoButtonExtended.cpp | Implements two-way rocker wiring/handlers. |
| src/graphics/niche/InkHUD/WindowManager.cpp | Disables joystick-only UI (align/keyboard) when using two-way rocker mode. |
| src/graphics/niche/InkHUD/InkHUD.h | Adds twoWayRocker mode hint flag. |
| src/graphics/niche/InkHUD/Applets/System/Tips/TipsApplet.cpp | Updates tips text to describe rocker + center button controls. |
| src/graphics/niche/InkHUD/Applets/System/Menu/MenuApplet.cpp | Avoids joystick-only behaviors (keyboard/free-text) when in rocker mode. |
| src/graphics/niche/Drivers/EInk/UC8175.h | New UC8175-family base driver interface for NicheGraphics. |
| src/graphics/niche/Drivers/EInk/UC8175.cpp | New UC8175-family base driver implementation (buffering, update sequencing). |
| src/graphics/niche/Drivers/EInk/GDEW0102T4.h | New panel-specific driver for the 1.02" 80x128 display. |
| src/graphics/niche/Drivers/EInk/GDEW0102T4.cpp | Panel-specific LUT/config logic and FAST/FULL handling for GDEW0102T4. |
| src/graphics/EInkDisplay2.h | Treats MINI_EPAPER_S3 as HSPI-backed for BaseUI display path. |
| src/graphics/EInkDisplay2.cpp | Enables panel power rail before SPI and routes MINI_EPAPER_S3 through HSPI init path. |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
todd-herbert
added a commit
to todd-herbert/meshtastic-firmware
that referenced
this pull request
Mar 10, 2026
todd-herbert
added a commit
to todd-herbert/meshtastic-firmware
that referenced
this pull request
Mar 10, 2026
todd-herbert
added a commit
to todd-herbert/meshtastic-firmware
that referenced
this pull request
Mar 10, 2026
thebentern
pushed a commit
that referenced
this pull request
Mar 19, 2026
* Tmini Eink fix * tuning * better refresh * Fix to lora pins to be like the original. * Update pins_arduino.h * removed dead flags from previous tests * Update src/graphics/niche/Drivers/EInk/GDEW0102T4.cpp Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
korbinianbauer
pushed a commit
to korbinianbauer/firmware
that referenced
this pull request
Mar 23, 2026
* Tmini Eink fix * tuning * better refresh * Fix to lora pins to be like the original. * Update pins_arduino.h * removed dead flags from previous tests * Update src/graphics/niche/Drivers/EInk/GDEW0102T4.cpp Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
todd-herbert
added a commit
to todd-herbert/meshtastic-firmware
that referenced
this pull request
Apr 11, 2026
todd-herbert
added a commit
to todd-herbert/meshtastic-firmware
that referenced
this pull request
Apr 16, 2026
mariotti
pushed a commit
to mariotti/firmware
that referenced
this pull request
May 6, 2026
* Tmini Eink fix * tuning * better refresh * Fix to lora pins to be like the original. * Update pins_arduino.h * removed dead flags from previous tests * Update src/graphics/niche/Drivers/EInk/GDEW0102T4.cpp Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR refactors the T-Mini-Eink S3 to work properly on BaseUI and InkHUD. The first version introduced by this PR
#9335 made the screen do full slow refreshes for every change on the screen and was only supported on BaseUI. I created it's proper driver so fast refreshes can happen and wired it to InkHUD with full two-way rocker control, this way the same code can re-used for future devices that need rocker control.