diff --git a/components/touchscreen/cst816.rst b/components/touchscreen/cst816.rst new file mode 100644 index 000000000..62f3bb79a --- /dev/null +++ b/components/touchscreen/cst816.rst @@ -0,0 +1,69 @@ +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 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: GPIO3 + reset_pin: GPIO21 + +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 `. + + +See Also +-------- + +- :apiref:`cst816/touchscreen/cst816_touchscreen.h` +- :ghedit:`Edit` diff --git a/components/touchscreen/images/cst816.jpg b/components/touchscreen/images/cst816.jpg new file mode 100644 index 000000000..92188c279 Binary files /dev/null and b/components/touchscreen/images/cst816.jpg differ diff --git a/images/cst816.jpg b/images/cst816.jpg new file mode 100644 index 000000000..92188c279 Binary files /dev/null and b/images/cst816.jpg differ diff --git a/index.rst b/index.rst index b0a0e4fbb..ab60d4b0c 100644 --- a/index.rst +++ b/index.rst @@ -693,6 +693,7 @@ Touchscreen Components .. imgtable:: Touchscreen Core, components/touchscreen/index, folder-open.svg, dark-invert + CST816, components/touchscreen/cst816, cst816.jpg EKTF2232, components/touchscreen/ektf2232, ektf2232.svg, Inkplate 6 Plus Lilygo T5 4.7", components/touchscreen/lilygo_t5_47, lilygo_t5_47_touch.jpg TT21100, components/touchscreen/tt21100, esp32-s3-korvo-2-lcd.png