ST7735 Display
==============

.. seo::
    :description: Instructions for setting up a ST7735 display drivers.
    :keywords: ST7735
    :image: ST7735.png

ST7735 Display Driver. 

Usage
-----

The ST7735 component allows you to use a ST7735 display
(`datasheet and information <https://learn.adafruit.com/1-8-tft-display/downloads>`__,
`Adafruit <https://www.adafruit.com/product/358>`__) in ESPHome.
It uses the :ref:`SPI Bus <spi>` for communication.

.. figure:: images/st7735.jpg
    :align: center
    :width: 75.0%

    ST7735 Display

There are numerous board types out there. Some initialize differently as well. This driver will take a few options to narrow down the right settings.

.. code-block:: yaml

    # Example configuration entry
    display:
    - platform: st7735
      model: "INITR_18BLACKTAB"
      reset_pin: D4
      cs_pin: D1
      dc_pin: D2      
      rotation: 0
      devicewidth: 128
      deviceheight: 160
      colstart: 0
      rowstart: 0
      eightbitcolor: true
      update_interval: 5s

Configuration variables:
~~~~~~~~~~~~~~~~~~~~~~~~

- **model** (**Required**, "See Models Below"): This the model to use. INITR_BLACKTAB is the default
- **reset_pin** (:ref:`Pin Schema <config-pin_schema>`): The RESET pin.
- **cs_pin** (:ref:`Pin Schema <config-pin_schema>`): The CS pin.
- **dc_pin** (:ref:`Pin Schema <config-pin_schema>`): The DC pin.
- **devicewidth** (**Required**, int): The device width. 128 is default
- **deviceheight** (**Required**, int): The device height. 160 is default
- **colstart** (**Required**, int): The device height. 160 is default
- **rowstart** (**Required**, int): The device height. 160 is default
- **eightbitcolor** (*Optional*, "True/False" ): 8bit mode. Default is False. This saves 50% of the buffer required for the display. 

Memory notes:
~~~~~~~~~~~~~

- 8Bit color saves 50% of the buffer required.
- eightbitcolor: True 160x128 = 20480 *Important for memory constrained devices*
- eightbitcolor: False 160x128x2 = 40960 


Models:
~~~~~~~

- INITR_GREENTAB
- INITR_REDTAB
- INITR_BLACKTAB
- INITR_MIN_I160X80
- INITR_18BLACKTAB
- INITR_18REDTAB


See Also
--------

- :ref:`spi`
- :apiref:`st7735/st7735.h`
- :ghedit:`Edit`
