MCP23Sxx I/O Expander¶
The Microchip MCP23Sxx series of general purpose, parallel I/O expansion for SPI bus applications. This is exactly the same API as the MCP23SXX I/O Expander except talks on the SPI bus
Supported Variants :
MCP23S08¶
The MCP23S08 component (datasheet, Digi-Key) has 8 GPIOs that can be configured independently.
# Example configuration entry
mcp23s08:
- id: 'mcp23s08_hub'
cs_pin: D8
deviceaddress: 0
# Individual outputs
switch:
- platform: gpio
name: "MCP23S08 Pin #0"
pin:
mcp23s08: mcp23s08_hub
# Use pin number 0
number: 0
# One of INPUT, INPUT_PULLUP or OUTPUT
mode: OUTPUT
inverted: False
# Individual inputs
binary_sensor:
- platform: gpio
name: "MCP23S08 Pin #1"
pin:
mcp23s08: mcp23s08_hub
# Use pin number 1
number: 1
# One of INPUT or INPUT_PULLUP
mode: INPUT
inverted: False
MCP23S17¶
The MCP23S17 component allows you to use MCP23S17 I/O expanders (datasheet, Digi-Key) in ESPHome. It uses the SPI 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.
# Example configuration entry
mcp23s17:
- id: 'mcp23s17_hub'
cs_pin: D8
deviceaddress: 0
# Individual outputs
switch:
- platform: gpio
name: "MCP23S17 Pin #0"
pin:
mcp23s17: mcp23s17_hub
# Use pin number 0
number: 0
mode: OUTPUT
inverted: False
# Individual inputs
binary_sensor:
- platform: gpio
name: "MCP23S17 Pin #1"
pin:
mcp23s17: mcp23s17_hub
# Use pin number 1
number: 1
# One of INPUT or INPUT_PULLUP
mode: INPUT_PULLUP
inverted: False