Skip to content

T-mini Eink S3 Support for both InkHUD and BaseUI#9856

Merged
thebentern merged 7 commits into
developfrom
T-mini-fix
Mar 9, 2026
Merged

T-mini Eink S3 Support for both InkHUD and BaseUI#9856
thebentern merged 7 commits into
developfrom
T-mini-fix

Conversation

@HarukiToreda

@HarukiToreda HarukiToreda commented Mar 7, 2026

Copy link
Copy Markdown
Contributor

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.

20260308_0021202

@HarukiToreda HarukiToreda self-assigned this Mar 7, 2026
@HarukiToreda HarukiToreda added enhancement New feature or request cleanup Code cleanup or refactor InkHUD Issues directly related to InkHUD UI labels Mar 7, 2026
@HarukiToreda HarukiToreda marked this pull request as draft March 7, 2026 19:37
@github-actions github-actions Bot added the needs-review Needs human review label Mar 7, 2026
@HarukiToreda HarukiToreda changed the title Tmini Eink fix T-mini Eink S3 Support Mar 8, 2026
@HarukiToreda HarukiToreda changed the title T-mini Eink S3 Support T-mini Eink S3 Support for both InkHUD and BaseUI Mar 8, 2026
@HarukiToreda HarukiToreda added the baseui Issues directly related to BaseUI label Mar 8, 2026
@HarukiToreda HarukiToreda marked this pull request as ready for review March 8, 2026 05:24
@HarukiToreda HarukiToreda requested a review from mverch67 March 8, 2026 05:24
@thebentern thebentern requested a review from Copilot March 8, 2026 12:00

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread variants/esp32s3/mini-epaper-s3/nicheGraphics.h
Comment thread src/input/UpDownInterruptImpl1.cpp
Comment thread variants/esp32s3/mini-epaper-s3/variant.h
Comment thread variants/esp32s3/mini-epaper-s3/platformio.ini
Comment thread src/graphics/niche/Drivers/EInk/GDEW0102T4.cpp Outdated
@thebentern thebentern merged commit 0501e17 into develop Mar 9, 2026
77 checks passed
@HarukiToreda HarukiToreda deleted the T-mini-fix branch March 10, 2026 00:39
todd-herbert added a commit to todd-herbert/meshtastic-firmware that referenced this pull request Mar 10, 2026
…#9856)"

This reverts commit 0501e17.

Device is inappopriately small for InkHUD and really needs its own super-lightweight nichegraphics UI.
todd-herbert added a commit to todd-herbert/meshtastic-firmware that referenced this pull request Mar 10, 2026
…#9856)"

This reverts commit 0501e17.

Device is inappopriately small for InkHUD and really needs its own super-lightweight nichegraphics UI.
todd-herbert added a commit to todd-herbert/meshtastic-firmware that referenced this pull request Mar 10, 2026
…#9856)"

This reverts commit 0501e17.

Device is inappopriately small for InkHUD and really needs its own super-lightweight nichegraphics UI.
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
…#9856)"

This reverts commit 0501e17.

Device is inappopriately small for InkHUD and really needs its own super-lightweight nichegraphics UI.
todd-herbert added a commit to todd-herbert/meshtastic-firmware that referenced this pull request Apr 16, 2026
…#9856)"

This reverts commit 0501e17.

Device is inappopriately small for InkHUD and really needs its own super-lightweight nichegraphics UI.
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

baseui Issues directly related to BaseUI cleanup Code cleanup or refactor enhancement New feature or request InkHUD Issues directly related to InkHUD UI needs-review Needs human review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants