cst816 Touch Screen Controller¶
The cst816
touchscreen platform allows using the touch screen controllers based on the CST816 series of chips with ESPHome.
The I²C is required to be set up in your configuration for this touchscreen to work.
This controller is used in the Lilygo T-Display S3 AMOLED. The component should work with CST816T, CST816S, CST820, CST826 and CST716 controller chips.

cst816t touchscreen on T-Display S3 AMOLED¶
Base Touchscreen Configuration¶
# Example configuration entry
touchscreen:
platform: cst816
id: my_touchscreen
interrupt_pin: GPIOXX
reset_pin: GPIOXX
Configuration variables:¶
id (Optional, ID): Manually set the ID of this touchscreen.
interrupt_pin (Optional, Pin Schema): The touch detection pin.
reset_pin (Optional, Pin Schema): The chip reset pin.
skip_probe (Optional, boolean): Skip reading the chip ID on startup. May be required for some variants (e.g. CST816S) that do not respond to i2c commands except after touches are registered. Defaults to false.
All other options from Touchscreen.
Binary Sensor¶
In addition to touch areas on the screen configured through the Touchscreen component,
the cst816 can report touches on a dedicated button outside the display area. This can be utilised by configuring a touchscreen binary sensor
with the use_raw
option and min/max values representing the sensor touch area.
Sample config for the T-Display S3 AMOLED¶
i2c:
sda: GPIO3
scl: GPIO2
touchscreen:
- platform: cst816
id: my_touchscreen
interrupt_pin: GPIO21