MCP23017 I/O Expander ===================== .. seo:: :description: Instructions for setting up MCP23017 digital port expanders in ESPHome. :image: mcp23017.png The MCP23017 component allows you to use MCP23017 I/O expanders (`datasheet `__, `Adafruit `__) in ESPHome. It uses the :ref:`I²C Bus ` for communication. Once configured, you can use any of the 16 pins as pins for your projects. Within ESPHome they emulate a real internal GPIO pin and can therefore be used with many of ESPHome's components such as the GPIO binary sensor or GPIO switch. .. code-block:: yaml # Example configuration entry mcp23017: - id: 'mcp23017_hub' address: 0x20 # Individual outputs switch: - platform: gpio name: "MCP23017 Pin #0" pin: mcp23017: mcp23017_hub # Use pin number 0 number: 0 # One of INPUT, INPUT_PULLUP or OUTPUT mode: OUTPUT inverted: False Configuration variables: ~~~~~~~~~~~~~~~~~~~~~~~~ - **id** (**Required**, :ref:`config-id`): The id to use for this MCP23017 component. - **address** (*Optional*, int): The I²C address of the driver. Defaults to ``0x21``. See Also -------- - :ref:`i2c` - :doc:`switch/gpio` - :doc:`binary_sensor/gpio` - :apiref:`mcp23017/mcp23017.h` - :ghedit:`Edit`