Chain Key is a single-button input node in the M5Stack Chain series. The button uses a hot-swappable mechanical keyboard switch design with a strong tactile Cyan switch, and it also integrates a programmable RGB LED. It is suitable for human-machine interaction, smart home control, and other applications.
| Item | Information |
|---|---|
| Expansion module | Chain Key (U206) |
| Main functions | Provides button input |
| Communication interface | Chain Bus / UART |
| ESPHome components | m5_chain_base, m5_chain_key (external components) |
| ESPHome version requirement | 2026.9.0 or later |
uart:
- id: chain_uart_right
tx_pin: GPIO6
rx_pin: GPIO5
baud_rate: 115200
- id: chain_uart_left
tx_pin: GPIO47
rx_pin: GPIO48
baud_rate: 115200 external_components:
- source: github://m5stack/esphome@feat-m5-chain
components: [m5_chain_base, m5_chain_key]
refresh: 0s m5_chain_key:
id: chain_key
uart_id: chain_uart_right
chain_index: 1
update_interval: 50ms binary_sensor:
- platform: m5_chain_key
m5_chain_key_id: chain_key
name: Chain Key output:
- platform: m5_chain_key
id: chain_key_red
m5_chain_key_id: chain_key
channel: rgb_red
- platform: m5_chain_key
id: chain_key_green
m5_chain_key_id: chain_key
channel: rgb_green
- platform: m5_chain_key
id: chain_key_blue
m5_chain_key_id: chain_key
channel: rgb_blue
light:
- platform: rgb
name: "Chain Key Light"
red: chain_key_red
green: chain_key_green
blue: chain_key_blue After the Chain Key expansion module is connected, you can view the corresponding Binary Sensor and Light entities on the device page:
Dashboard card example
