Skip to content

Lanbon L10: TCA9554 I2C GPIO, RGB panel, LEDC, HTTP/async; user setup#1010

Open
thirug010 wants to merge 1 commit into
HASwitchPlate:masterfrom
thirug010:master
Open

Lanbon L10: TCA9554 I2C GPIO, RGB panel, LEDC, HTTP/async; user setup#1010
thirug010 wants to merge 1 commit into
HASwitchPlate:masterfrom
thirug010:master

Conversation

@thirug010

Copy link
Copy Markdown

Lanbon L10 — Pull request summary

Suggested PR title: Lanbon L10: TCA9554 + GC9503V RGB panel, I2C GPIO/backlight, HTTP/async updates


Summary

Adds support for the Lanbon L10 (ESP32-S3, GC9503V 480×854 RGB via 3-wire SPI through a TCA9554 expander, FT5x06 touch). Introduces I2C GPIO plumbing for the expander, TCA9554-backed SW SPI for the panel, I2C/LEDC backlight handling, and updates HTTP / async HTTP. Includes a PlatformIO environment in user_setups/esp32s3/lanbon_l10.ini and extends the RGB panel Arduino mod library.

Stats (vs bfc56dfa): commit fa6befd8, 26 files, +1748 / −26 lines.


Hardware / build

Item Detail
Board Lanbon L10 — L10_HS_CB_V1.7, ESP32-S3-WROOM-1U
Display GC9503V 480×854, RGB, SPI3Wire + TCA9554
Touch FT5x06 / FT6x36 @ 0x38 (I2C)
Build [env:lanbon_l10] in user_setups/esp32s3/lanbon_l10.iniarduino_esp32s3_v2, 16 MB flash, OPI PSRAM, flags such as HASP_LANBON_L10_TCA9554_GC9503V, HASP_USE_EXPANDER, HASP_USE_I2C_GPIO, expander pin defines, HASP_ESP32_DEVICE_I2C_BACKLIGHT, etc.

Changes by area

  1. TCA9554 SW SPI (RGB)Arduino_TCA9554SWSPI.*, hooks in tft_driver_arduinogfx.cpp and Arduino_PCA9535SWSPI.h.
  2. RGB panel modlib/Arduino_RPi_DPI_RGBPanel_mod/Arduino_RGB_Display_mod.{cpp,h}.
  3. I2C GPIOi2c_gpio_bus.*, Lanbon-specific i2c_gpio_stc_l10.* (STC-style expander @ 0x20).
  4. Devices / backlightesp32_i2c_ledc.*, esp32.cpp / esp32.h; hasp_gpio.* for I2C-routed pins.
  5. Corehasp.cpp, hasp_gui.*, hasp_dispatch.cpp, hasp_config.h, hasp_debug.*.
  6. HTTPhasp_http.cpp, hasp_http_async.cpp (worth extra review on non-L10 boards).

Testing checklist

  • pio run -e lanbon_l10
  • On L10: display, touch, backlight, expander GPIO
  • Optional: one non-L10 environment still builds

Review focus

  • HTTP / async paths for regressions on boards without I2C GPIO / expander.
  • hasp_gpio.cpp conditional paths and pin routing.
  • RGB panel mod vs other GC9503V / RGB setups.

@thirug010 thirug010 mentioned this pull request Apr 4, 2026
@fvanroie

Copy link
Copy Markdown
Collaborator

Thanks @thirug010 for the extensive Lanbon L10 research and coding.

However, this PR is too large in scope and touches too many areas at once (new device support + major GPIO/I2C changes + backlight/motion updates + HTTP modifications). This makes it hard to properly review and reason about each change.

I strongly prefer smaller, focused PRs that address one thing at a time. This makes review and future maintenance much easier.

Could you split this into a minimal first PR that only adds basic Lanbon L10 support? For example:

  • the lanbon_l10.ini environment
  • display + TCA9554 bus driver
  • basic working backlight

Once that is merged cleanly, we can look at the larger I2C GPIO framework and other changes in separate, focused PRs.

Let me know if you're able to reduce the scope. I'm happy to help outline what the minimal version should contain.

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