Skip to content

feat: add LILYGO T-Display S3 AMOLED board target - #35

Open
davisv7 wants to merge 2 commits into
lnbits:mainfrom
davisv7:feat/lilygo-tdisplay-s3-amoled
Open

feat: add LILYGO T-Display S3 AMOLED board target#35
davisv7 wants to merge 2 commits into
lnbits:mainfrom
davisv7:feat/lilygo-tdisplay-s3-amoled

Conversation

@davisv7

@davisv7 davisv7 commented Aug 22, 2026

Copy link
Copy Markdown

Summary

  • Adds lilygo_tdisplay_s3_amoled as a new build target (ESP32-S3, RM67162 AMOLED 536×240 over QSPI)
  • Introduces a new arduino_gfx_rm67162 display backend exposing a TFT_eSPI-compatible surface so all application/UI code is unchanged
  • Vendors Arduino_GFX 1.6.7 trimmed to the ESP32 QSPI bus and RM67162 driver only
  • Two-button input (GPIO 0/21), no built-in SD, no touch; keypad expansion supported via profile once wired

Test plan

  • Firmware compiles cleanly with ./tools/build_firmware.sh lilygo_tdisplay_s3_amoled
  • Flashed and boots on physical T-Display S3 AMOLED hardware
  • Bowser logo displays correctly
  • WebSerial pairing and /ping respond correctly
  • Existing targets (lilygo_tdisplay, esp32_3248s035c, waveshare_esp32_c6_lcd_1_3) unaffected

🤖 Generated with Claude Code

@davisv7
davisv7 force-pushed the feat/lilygo-tdisplay-s3-amoled branch 2 times, most recently from b869dbf to 2c283cb Compare August 22, 2026 17:53
Adds support for the LILYGO T-Display S3 AMOLED (ESP32-S3, RM67162
536×240 AMOLED via QSPI) as a new build target.

New files:
- wallet/boards/lilygo_tdisplay_s3_amoled/profile.h — board profile
  (two buttons GPIO 0/21, backlight GPIO 38, no built-in SD or touch)
- wallet/boards/lilygo_tdisplay_s3_amoled/tft_setup.h — TFT_eSPI stub
  so the vendored library compiles cleanly for this target
- wallet/display_backends/arduino_gfx_rm67162.h — new display backend
  wrapping Arduino_GFX's RM67162 QSPI driver with a TFT_eSPI-compatible
  surface (pushImage, setSwapBytes/getSwapBytes, touch stubs)
- libraries/Arduino_GFX/ — Arduino_GFX 1.6.7 vendored and trimmed to
  the ESP32 QSPI bus and RM67162 driver only

Updated:
- tools/build_firmware.sh — lilygo_tdisplay_s3_amoled target
  (esp32:esp32@2.0.17, esp32s3 FQBN, HWCDC USB, new display backend)
- tools/package_firmware.py — ESP32-S3 chip family, bootloader offset 0x0
- libraries/DEPENDENCIES.md — Arduino_GFX vendoring notes
- .gitignore — exclude Arduino_GFX non-runtime files

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@davisv7
davisv7 force-pushed the feat/lilygo-tdisplay-s3-amoled branch from 2c283cb to 646525c Compare August 22, 2026 17:56
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.

1 participant