esphome-docs/components/display/st7735.rst
2024-06-12 13:47:54 +12:00

102 lines
3.1 KiB
ReStructuredText

ST7735 Display
==============
.. seo::
:description: Instructions for setting up a ST7735 display drivers.
:keywords: ST7735
:image: st7735.jpg
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
.. warning::
This component has been made redundant since the ST7735 is now supported by the :ref:`ILI9XXX component <ili9xxx>`. It is recommended
that you use the ``ili9xxx`` component as it will be maintained, whereas this component may not be, or may be removed completely
in the future. If migrating from this component to ``ili9xxx`` you may need to set the ``dimensions:`` option to
specify the screen size and offsets in the ``ili9xxx`` config.
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
device_width: 128
device_height: 160
col_start: 0
row_start: 0
eight_bit_color: true
update_interval: 5s
Configuration variables:
************************
- **model** (**Required**, string): The model to use, one of the following options:
- ``INITR_BLACKTAB``
- ``INITR_GREENTAB``
- ``INITR_REDTAB``
- ``INITR_MINI160X80``
- ``INITR_18BLACKTAB``
- ``INITR_18REDTAB``
- **cs_pin** (**Required**, :ref:`Pin Schema <config-pin_schema>`): The CS pin.
- **dc_pin** (**Required**, :ref:`Pin Schema <config-pin_schema>`): The DC pin.
- **device_width** (**Required**, int): The device width. 128 is default
- **device_height** (**Required**, int): The device height. 160 is default
- **col_start** (**Required**, int): The starting column offset. Default value depends on **model**.
- **row_start** (**Required**, int): The starting row offset. Default value depends on **model**.
- **use_bgr** (*Optional*, boolean): Use BGR mode. Default is false.
- **invert_colors** (*Optional*, boolean): Invert LCD colors. Default is false.
- **eight_bit_color** (*Optional*, boolean): 8bit mode. Default is false. This saves 50% of the buffer required for the display.
- **reset_pin** (*Optional*, :ref:`Pin Schema <config-pin_schema>`): The RESET pin.
- **update_interval** (*Optional*, :ref:`config-time`): Time between display updates. Default is 1s.
Memory notes:
*************
- 8Bit color saves 50% of the buffer required.
- ``eight_bit_color: true`` 160x128 = 20480 *Important for memory constrained devices*
- ``eight_bit_color: false`` 160x128x2 = 40960
Models:
*******
- INITR_GREENTAB
- INITR_REDTAB
- INITR_BLACKTAB
- INITR_MINI160X80
- INITR_18BLACKTAB
- INITR_18REDTAB
See Also
--------
- :ref:`spi`
- :doc:`/components/display/index`
- :apiref:`st7735/st7735.h`
- :ghedit:`Edit`