cst816 Touch Screen Controller =============================== .. seo:: :description: Instructions for setting up cst816 touch screen controller with ESPHome :image: cst816.jpg :keywords: CST816, T-DISPLAY, AMOLED The ``cst816`` touchscreen platform allows using the touch screen controllers based on the CST816 series of chips with ESPHome. The :ref:`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. .. figure:: images/cst816.jpg :align: center :width: 50.0% cst816t touchscreen on T-Display S3 AMOLED Base Touchscreen Configuration ------------------------------ .. code-block:: yaml # Example configuration entry touchscreen: platform: cst816 id: my_touchscreen interrupt_pin: GPIOXX reset_pin: GPIOXX Configuration variables: ************************ - **id** (*Optional*, :ref:`config-id`): Manually set the ID of this touchscreen. - **interrupt_pin** (*Optional*, :ref:`Pin Schema `): The touch detection pin. - **reset_pin** (*Optional*, :ref:`Pin Schema `): The chip reset pin. - All other options from :ref:`Touchscreen `. Binary Sensor ------------- In addition to touch areas on the screen configured through the :ref:`Touchscreen ` component, the cst816 will report touches on a button outside the screen area. A binary sensor can be configured to react to touching this button. .. code-block:: yaml # Example configuration entry binary_sensor: - platform: cst816 name: "Home" Configuration variables: ************************ - **cst816_id** (*Optional*, :ref:`config-id`): Manually specify the ID of the touchscreen. - All other options from :ref:`Binary Sensor `. Sample config for the T-Display S3 AMOLED ***************************************** .. code-block:: yaml i2c: sda: GPIO3 scl: GPIO2 touchscreen: - platform: cst816 id: my_touchscreen interrupt_pin: GPIO21 See Also -------- - :apiref:`cst816/touchscreen/cst816_touchscreen.h` - :ghedit:`Edit`