Add LILYGO T4-S3 curated board - #1815
Conversation
ESP32-S3 board with a 2.41" 450x600 RM690B0 AMOLED panel on a quad-SPI bus. Features the quad SPI bus, the mipi_spi display (model T4-S3), and the BOOT button. The panel is self-emissive so there is no backlight; GPIO9 (panel power enable) is supplied by the model. The CST226SE touch panel and PMU share an I2C bus (GPIO6/7) and are left free to assign. cs_pin and reset_pin are locked; enable_pin is left to the model because it is an ensure_list field, so the frontend seeds it as a list and a scalar lock would reject the add. Pins verified against the esphome mipi_spi model, the LILYGO AMOLED-Series library board struct, and the dobodu RM690B0 T4-S3 micropython driver.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1815 +/- ##
=======================================
Coverage 99.54% 99.54%
=======================================
Files 230 230
Lines 18393 18393
=======================================
Hits 18310 18310
Misses 83 83
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
PR Review — Add LILYGO T4-S3 curated boardClean, low-risk curated-board addition that mirrors the established AMOLED-board pattern. Merge-ready. Specific things verified as correct:
Checklist
Automated review by Kōan (Claude) |
esphbot
left a comment
There was a problem hiding this comment.
No blocking issues found.
There was a problem hiding this comment.
Pull request overview
Adds a new curated board definition for the LILYGO T4-S3 to the board catalog, enabling the dashboard to offer a one-click “Display (full setup)” bundle with the correct QSPI + display.mipi_spi model wiring and pin occupancy for this ESP32-S3 AMOLED board.
Changes:
- Introduces a new curated board manifest defining metadata, pin availability/occupancy, and featured components/bundle for the LILYGO T4-S3.
- Adds the generated board body JSON consumed by the runtime board catalog for the new board.
Reviewed changes
Copilot reviewed 2 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| esphome_device_builder/definitions/boards/lilygo-t4-s3/manifest.yaml | New curated manifest defining the board, pin map, featured components, and display bundle. |
| esphome_device_builder/definitions/board_bodies/lilygo-t4-s3.json | Generated board body JSON for runtime consumption matching the new manifest. |
What does this implement/fix?
Adds a curated board manifest for the LILYGO T4-S3, an ESP32-S3 board with a 2.41" 450x600 RM690B0 AMOLED panel on a quad-SPI bus. It features the quad SPI bus, the
mipi_spidisplay (modelT4-S3), and the BOOT button, with a one-click Display bundle.The panel is self-emissive, so there is no backlight output; GPIO9 enables the panel power rail and is supplied by the model. The board's CST226SE touch panel and PMU share an I2C bus (GPIO6/7), left free to assign.
enable_pinis intentionally not locked in the manifest because it is anensure_listfield, so the frontend seeds it as a list and a scalar lock would reject the add; the model fills it.Pins were verified against three sources: the esphome
mipi_spimodel, the LILYGO AMOLED-Series library board struct, and the dobodu RM690B0 T4-S3 micropython driver; all agree the QSPI bus is clk 15, data 14/10/16/12, with cs 11, reset 13, enable 9, and no DC pin. A generated Display bundle config passesesphome config, andvalidate_definitionsreports 552 boards OK.Related issue or feature (if applicable):
Types of changes
new-featureFrontend coordination
Checklist
ruff,codespell, yaml/json/python checks).tests/where applicable.components.index.json/definitions/components/*.jsonhave not been hand-edited (regenerate viascript/sync_components.pyif a sync is needed).docs/ARCHITECTURE.mdand/ordocs/API.md.