esphome-docs/components/i2c.rst
Ken Davidson 514e0a2c1d Fix units on the valid frequency values (#170)
Fixed the units on the valid frequency values. Also cleaned up upper/lower case.
2019-02-24 12:26:26 +01:00

50 lines
1.7 KiB
ReStructuredText

.. _i2c:
I²C Bus
=======
.. seo::
:description: Instructions for setting up the I²C bus to communicate with 2-wire devices in ESPHome
:image: i2c.png
:keywords: i2c, iic, bus
This component sets up the I²C bus for your ESP32 or ESP8266. In order for those components
to work correctly, you need to define the I²C bus in your configuration. Please note the ESP
will enable its internal 10kΩ pullup resistors for these pins, so you usually don't need to
put on external ones.
.. code-block:: yaml
# Example configuration entry
i2c:
sda: 21
scl: 22
scan: False
Configuration variables:
------------------------
- **sda** (*Optional*, :ref:`config-pin`): The pin for the data line of the I²C bus.
Defaults to the default of your board (usually GPIO21 for ESP32 and GPIO4 for ESP8266).
- **scl** (*Optional*, :ref:`config-pin`): The pin for the clock line of the I²C bus.
Defaults to the default of your board (usually GPIO22 for ESP32 and
GPIO5 for ESP8266).
- **scan** (*Optional*, boolean): If ESPHome should do a search of the I²C address space on startup.
Note that this can slow down startup and is only recommended for when setting up new sensors. Defaults to
``False``.
- **frequency** (*Optional*, float): Set the frequency the I²C bus should operate on.
Defaults to ``50kHz``. Values are ``50kHz``, ``100kHz``, ``200kHz``, ... ``800kHz``
.. note::
If you're using the ESP32 and I²C frequently is showing errors in the logs, try with the latest
version of the Arduino framework. See :ref:`esphome-arduino_version` for information on how to do this.
See Also
--------
- :apiref:`i2c_component.h`
- :ghedit:`Edit`
.. disqus::