Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"description":"Waveshare ESP32-S3-Touch-AMOLED-2.16: an ESP32-S3 board with a 2.16\" 480x480 CO5300 AMOLED panel driven over a quad-SPI (QSPI) bus, a CST9220 capacitive touch panel, and an ES8311 audio codec with onboard speaker — the touch and codec share one I2C bus (SDA 15 / SCL 14). The panel is self-emissive, so there is no backlight; display CS/reset are supplied by the model. The 8MB octal PSRAM backs the display buffer, so it is part of the Display bundle. Requires ESPHome 2026.7.0+ for the CST9220 touch.","docs_url":"https://www.waveshare.com/wiki/ESP32-S3-Touch-AMOLED-2.16","esphome":{"board":"esp32-s3-devkitc-1","framework":"esp-idf","platform":"esp32","variant":"esp32s3"},"featured_bundles":[{"component_ids":["lcd_spi","lcd_psram","lcd_display"],"id":"display_setup","name":"Display (full setup)"},{"component_ids":["i2c_bus","lcd_touch"],"id":"touchscreen_setup","name":"Touchscreen (full setup)"},{"component_ids":["i2c_bus","audio_bus","es8311_dac","onboard_speaker","audio_amplifier"],"id":"audio_setup","name":"Speaker (full setup)"}],"featured_components":[{"component_id":"spi","fields":{"clk_pin":{"locked":true,"value":38},"data_pins":{"locked":true,"value":[4,5,6,7]},"id":{"locked":true,"value":"lcd_spi"},"type":{"value":"quad"}},"id":"lcd_spi","locked_pins":{"clk_pin":38}},{"component_id":"psram","fields":{"mode":{"value":"octal"},"speed":{"value":"80MHz"}},"id":"lcd_psram","multi_conf":false},{"component_id":"i2c","fields":{"frequency":{"value":"400kHz"},"id":{"locked":true,"value":"i2c_bus"},"scan":{"value":true},"scl":{"locked":true,"value":14},"sda":{"locked":true,"value":15}},"id":"i2c_bus","locked_pins":{"scl":14,"sda":15}},{"component_id":"display.mipi_spi","fields":{"id":{"value":"lcd_display"},"model":{"value":"WAVESHARE-ESP32-S3-TOUCH-AMOLED-2.16"},"show_test_card":{"value":true},"spi_id":{"locked":true,"value":"lcd_spi"}},"id":"lcd_display","requires":["lcd_spi","lcd_psram"]},{"component_id":"i2s_audio","fields":{"i2s_bclk_pin":{"locked":true,"value":9},"i2s_lrclk_pin":{"locked":true,"value":45},"i2s_mclk_pin":{"locked":true,"value":42},"id":{"locked":true,"value":"audio_bus"}},"id":"audio_bus","locked_pins":{"i2s_bclk_pin":9,"i2s_lrclk_pin":45,"i2s_mclk_pin":42}},{"component_id":"audio_dac.es8311","fields":{"address":{"value":24},"i2c_id":{"locked":true,"value":"i2c_bus"},"id":{"value":"es8311_dac"}},"id":"es8311_dac","requires":["i2c_bus"]},{"component_id":"speaker.i2s_audio","fields":{"audio_dac":{"value":"es8311_dac"},"channel":{"value":"mono"},"dac_type":{"value":"external"},"i2s_audio_id":{"locked":true,"value":"audio_bus"},"i2s_dout_pin":{"locked":true,"value":8},"id":{"value":"onboard_speaker"}},"id":"onboard_speaker","locked_pins":{"i2s_dout_pin":8},"requires":["audio_bus","i2c_bus","es8311_dac"]},{"component_id":"switch.gpio","fields":{"icon":{"value":"mdi:volume-high"},"id":{"value":"audio_amplifier"},"name":{"value":"Audio Amplifier"},"pin":{"locked":true,"value":46},"restore_mode":{"value":"ALWAYS_ON"}},"id":"audio_amplifier","locked_pins":{"pin":46}},{"component_id":"touchscreen.cst9220","fields":{"display":{"value":"lcd_display"},"i2c_id":{"locked":true,"value":"i2c_bus"},"id":{"value":"lcd_touch"},"interrupt_pin":{"locked":true,"value":11},"reset_pin":{"locked":true,"value":40}},"id":"lcd_touch","locked_pins":{"interrupt_pin":11,"reset_pin":40},"requires":["i2c_bus","lcd_spi","lcd_psram","lcd_display"]},{"component_id":"binary_sensor.gpio","fields":{"id":{"value":"boot_button"},"name":{"value":"BOOT Button"},"pin":{"locked":true,"value":{"ignore_strapping_warning":true,"inverted":true,"number":0}}},"id":"boot_button","locked_pins":{"pin":0}}],"hardware":{"connectivity":["wifi","bluetooth"],"flash_size":"16MB"},"id":"waveshare_esp32_s3_touch_amoled_2_16","images":["https://www.waveshare.com/media/catalog/product/e/s/esp32-s3-touch-amoled-2.16-1.jpg"],"manufacturer":"Waveshare","name":"Waveshare ESP32-S3-Touch-AMOLED-2.16","pins":[{"available":false,"gpio":0,"label":"GPIO0","notes":"BOOT button (strapping pin, active low)","occupied_by":"boot_button"},{"available":false,"gpio":4,"label":"GPIO4","notes":"Display QSPI data0","occupied_by":"lcd_spi"},{"available":false,"gpio":5,"label":"GPIO5","notes":"Display QSPI data1","occupied_by":"lcd_spi"},{"available":false,"gpio":6,"label":"GPIO6","notes":"Display QSPI data2","occupied_by":"lcd_spi"},{"available":false,"gpio":7,"label":"GPIO7","notes":"Display QSPI data3","occupied_by":"lcd_spi"},{"available":false,"gpio":8,"label":"GPIO8","notes":"I2S audio data out (speaker)","occupied_by":"onboard_speaker"},{"available":false,"gpio":9,"label":"GPIO9","notes":"I2S bit clock","occupied_by":"audio_bus"},{"available":false,"gpio":11,"label":"GPIO11","notes":"CST9220 touch interrupt","occupied_by":"lcd_touch"},{"available":false,"gpio":12,"label":"GPIO12","notes":"Display CS","occupied_by":"lcd_display"},{"available":false,"features":["i2c_scl"],"gpio":14,"label":"GPIO14","notes":"Shared I2C SCL (touch + IMU + codec)","occupied_by":"i2c_bus"},{"available":false,"features":["i2c_sda"],"gpio":15,"label":"GPIO15","notes":"Shared I2C SDA (touch + IMU + codec)","occupied_by":"i2c_bus"},{"available":false,"features":["spi_clk"],"gpio":38,"label":"GPIO38","notes":"Display QSPI clock","occupied_by":"lcd_spi"},{"available":false,"gpio":39,"label":"GPIO39","notes":"Display reset","occupied_by":"lcd_display"},{"available":false,"gpio":40,"label":"GPIO40","notes":"CST9220 touch reset","occupied_by":"lcd_touch"},{"available":false,"gpio":42,"label":"GPIO42","notes":"I2S master clock","occupied_by":"audio_bus"},{"available":false,"gpio":45,"label":"GPIO45","notes":"I2S word-select (LRCLK)","occupied_by":"audio_bus"},{"available":false,"gpio":46,"label":"GPIO46","notes":"Power-amp enable (active high)","occupied_by":"audio_amplifier"}],"tags":["display","speaker"]}
2 changes: 1 addition & 1 deletion esphome_device_builder/definitions/boards.index.json

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,249 @@
id: waveshare_esp32_s3_touch_amoled_2_16
name: Waveshare ESP32-S3-Touch-AMOLED-2.16
description: >-
Waveshare ESP32-S3-Touch-AMOLED-2.16: an ESP32-S3 board with a 2.16" 480x480 CO5300
AMOLED panel driven over a quad-SPI (QSPI) bus, a CST9220 capacitive touch panel, and
an ES8311 audio codec with onboard speaker — the touch and codec share one I2C bus
(SDA 15 / SCL 14). The panel is self-emissive, so there is no backlight; display
CS/reset are supplied by the model. The 8MB octal PSRAM backs the display buffer, so it
is part of the Display bundle. Requires ESPHome 2026.7.0+ for the CST9220 touch.
manufacturer: Waveshare
esphome:
platform: esp32
board: esp32-s3-devkitc-1
variant: esp32s3
framework: esp-idf
hardware:
flash_size: 16MB
connectivity:
- wifi
- bluetooth
tags:
- display
- speaker
images:
- https://www.waveshare.com/media/catalog/product/e/s/esp32-s3-touch-amoled-2.16-1.jpg
docs_url: https://www.waveshare.com/wiki/ESP32-S3-Touch-AMOLED-2.16
pins:
- gpio: 0
available: false
occupied_by: boot_button
notes: BOOT button (strapping pin, active low)
- gpio: 4
available: false
occupied_by: lcd_spi
notes: Display QSPI data0
- gpio: 5
available: false
occupied_by: lcd_spi
notes: Display QSPI data1
- gpio: 6
available: false
occupied_by: lcd_spi
notes: Display QSPI data2
- gpio: 7
available: false
occupied_by: lcd_spi
notes: Display QSPI data3
- gpio: 8
available: false
occupied_by: onboard_speaker
notes: I2S audio data out (speaker)
- gpio: 9
available: false
occupied_by: audio_bus
notes: I2S bit clock
- gpio: 11
available: false
occupied_by: lcd_touch
notes: CST9220 touch interrupt
- gpio: 12
available: false
occupied_by: lcd_display
notes: Display CS
- gpio: 14
available: false
occupied_by: i2c_bus
features:
- i2c_scl
notes: Shared I2C SCL (touch + IMU + codec)
- gpio: 15
available: false
occupied_by: i2c_bus
features:
- i2c_sda
notes: Shared I2C SDA (touch + IMU + codec)
- gpio: 38
available: false
occupied_by: lcd_spi
features:
- spi_clk
notes: Display QSPI clock
- gpio: 39
available: false
occupied_by: lcd_display
notes: Display reset
- gpio: 40
available: false
occupied_by: lcd_touch
notes: CST9220 touch reset
- gpio: 42
available: false
occupied_by: audio_bus
notes: I2S master clock
- gpio: 45
available: false
occupied_by: audio_bus
notes: I2S word-select (LRCLK)
- gpio: 46
available: false
occupied_by: audio_amplifier
notes: Power-amp enable (active high)
featured_components:
- id: lcd_spi
component_id: spi
fields:
type: quad
clk_pin:
value: 38
locked: true
data_pins:
value:
- 4
- 5
- 6
- 7
locked: true
id:
value: lcd_spi
locked: true
- id: lcd_psram
component_id: psram
fields:
mode: octal
speed: 80MHz
- id: i2c_bus
component_id: i2c
fields:
sda:
value: 15
locked: true
scl:
value: 14
locked: true
frequency: 400kHz
scan: true
id:
value: i2c_bus
locked: true
- id: lcd_display
component_id: display.mipi_spi
fields:
model: WAVESHARE-ESP32-S3-TOUCH-AMOLED-2.16
spi_id:
value: lcd_spi
locked: true
show_test_card: true
id: lcd_display
requires:
- lcd_spi
- lcd_psram
- id: audio_bus
component_id: i2s_audio
fields:
i2s_mclk_pin:
value: 42
locked: true
i2s_bclk_pin:
value: 9
locked: true
i2s_lrclk_pin:
value: 45
locked: true
id:
value: audio_bus
locked: true
- id: es8311_dac
component_id: audio_dac.es8311
fields:
i2c_id:
value: i2c_bus
locked: true
address: 0x18
id: es8311_dac
requires:
- i2c_bus
- id: onboard_speaker
component_id: speaker.i2s_audio
fields:
i2s_audio_id:
value: audio_bus
locked: true
i2s_dout_pin:
value: 8
locked: true
audio_dac: es8311_dac
dac_type: external
channel: mono
id: onboard_speaker
requires:
- audio_bus
- es8311_dac
- id: audio_amplifier
component_id: switch.gpio
fields:
name: Audio Amplifier
icon: mdi:volume-high
restore_mode: ALWAYS_ON
pin:
value: 46
locked: true
id: audio_amplifier
- id: lcd_touch
component_id: touchscreen.cst9220
fields:
i2c_id:
value: i2c_bus
locked: true
interrupt_pin:
value: 11
locked: true
reset_pin:
value: 40
locked: true
display: lcd_display
id: lcd_touch
requires:
- i2c_bus
- lcd_display
- id: boot_button
component_id: binary_sensor.gpio
fields:
name: BOOT Button
pin:
value:
number: 0
inverted: true
ignore_strapping_warning: true
locked: true
id: boot_button
featured_bundles:
- id: display_setup
name: Display (full setup)
component_ids:
- lcd_spi
- lcd_psram
- lcd_display
- id: touchscreen_setup
name: Touchscreen (full setup)
component_ids:
- i2c_bus
- lcd_touch
- id: audio_setup
name: Speaker (full setup)
component_ids:
- i2c_bus
- audio_bus
- es8311_dac
- onboard_speaker
- audio_amplifier

Large diffs are not rendered by default.

Loading