Add Waveshare ESP32-S3-Touch-AMOLED-2.16 curated board#1821
Conversation
ESP32-S3 board with a 2.16" 480x480 CO5300 AMOLED panel on a quad-SPI bus, a CST9220 capacitive touch panel, and an ES8311 audio codec with onboard speaker. Features the quad SPI bus, octal PSRAM, the mipi_spi display (model WAVESHARE-ESP32-S3-TOUCH-AMOLED-2.16), the touch, and the speaker (i2s_audio + es8311 + power-amp enable), with Display, Touchscreen, and Speaker bundles. Display CS/reset come from the model; the panel is self-emissive (no backlight). CST9220 only exists in ESPHome 2026.7.0+, so its catalog entry (touchscreen.cst9220) was generated from the 2026.7.0-dev schema and added alongside the still-pinned 2026.6.4 catalog. The touch bundle therefore compiles only once the esphome dependency is bumped to >= 2026.7.0; display and audio compile today. The QMI8658 IMU is intentionally left out: the esphome `motion` platform isn't in the catalog's _PLATFORM_DOMAINS, so motion components render as an invalid top-level key. That is a separate catalog fix; the IMU lands once it's in. Pins verified against clydebarrow's mipi_spi 2.16 sample config (the driver author) and the Clawdmeter board.h.
d3a2518 to
d17a7f7
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1821 +/- ##
=======================================
Coverage 99.54% 99.54%
=======================================
Files 231 231
Lines 18422 18422
=======================================
Hits 18339 18339
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 Waveshare ESP32-S3-Touch-AMOLED-2.16 curated boardSolid, well-documented curated board that faithfully follows the author's recently-merged board pattern; the only real reviewer flag is the cross-version catalog splice, which is intentional and self-correcting. Verified strengths:
🟡 Important
1. Touchscreen bundle produces a non-compiling config on the pinned esphome (2026.6.4)
|
esphbot
left a comment
There was a problem hiding this comment.
Blocking issues found.
- Touchscreen bundle produces a non-compiling config on the pinned esphome (2026.6.4)
What does this implement/fix?
Adds a curated board manifest for the Waveshare ESP32-S3-Touch-AMOLED-2.16, an ESP32-S3 board with a 2.16" 480x480 CO5300 AMOLED panel on a quad-SPI bus, a CST9220 capacitive touch panel, and an ES8311 audio codec with an onboard speaker. It features the quad SPI bus, octal PSRAM, the
mipi_spidisplay (modelWAVESHARE-ESP32-S3-TOUCH-AMOLED-2.16), the touch, and the speaker (i2s_audio + es8311 + power-amp enable), with Display, Touchscreen, and Speaker bundles.The panel is self-emissive, so there is no backlight; display CS/reset come from the model. The touch and codec share one I2C bus (SDA 15 / SCL 14).
CST9220 catalog entry. The CST9220 touch controller only exists in ESPHome 2026.7.0+, so its catalog entry (
touchscreen.cst9220) was generated from the 2026.7.0-dev schema and added alongside the still-pinned 2026.6.4 catalog (no dependency bump;esphome-constraints.txtstays at 2026.6.4). Because the dependency is still 2026.6.4, the Touchscreen bundle compiles only once esphome is bumped to >= 2026.7.0; the Display and Speaker bundles compile today. This board is prepared so the touch is complete the moment that (imminent) bump lands.QMI8658 IMU deferred. The board also has a QMI8658 IMU, but the esphome
motionplatform is missing from the sync's_PLATFORM_DOMAINS, so motion components (this and the existing bmi270/lsm6ds) render as an invalid top-level key. That is a separate catalog-infrastructure fix; the IMU is left out here and lands oncemotionis handled.Pins were verified against clydebarrow's
mipi_spi2.16 sample config (the driver author) and the Clawdmeterboard.h. The full generated device (display + touch + speaker) passesesphome configunder 2026.7.0-dev, andvalidate_definitionsreports 555 boards OK on 2026.6.4.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 (thetouchscreen.cst9220entry is generator output from the 2026.7.0-dev schema, spliced in; the 2026.6.4 stamp and all other entries are unchanged).docs/ARCHITECTURE.mdand/ordocs/API.md.