# ESPHome

*Platform / DIY firmware*

> ESPHome is open-source firmware for ESP32, ESP8266 and similar chips, built from a YAML description. ESPHome devices connect to Home Assistant locally over its native API. Newer chips can also join Zigbee or Thread networks.[^1][^2][^3][^4]

- Canonical page: https://smarthomecanon.com/platforms/esphome
- Last checked: 2026-10-20

## Key facts

| Fact | Value |
| --- | --- |
| Type | DIY firmware |
| Capabilities | 7 |
| Devices | 6 |

## Capabilities

**What ESPHome supports**

| Capability | Supported | Since |
| --- | --- | --- |
| Wi-Fi with local control | withheld | unknown |
| Bluetooth proxy | withheld | unknown |
| Home Assistant native integration | withheld | unknown |
| Matter over Wi-Fi | unknown | unknown |
| Zigbee | withheld | unknown |
| Thread network node | withheld | unknown |
| MQTT (local) | withheld | unknown |

## What it is

ESPHome is firmware, not a hub. A device is described in a YAML file or the visual Device Builder, and ESPHome generates and flashes the firmware. It targets ESP32, ESP8266 and RP2040/RP2350 boards, plus BK72xx, RTL87xx, LN882 and nRF52 chips found in many off-the-shelf plugs and bulbs. After the first flash, updates can go over the air.[^1][^5]

The hub is whatever the device talks to, which in practice is Home Assistant. Its ESPHome integration discovers ESPHome devices and controls them over the local network.[^1][^6]

## Which paths it supports

The native API is a compact protocol-buffer connection with no broker in between. MQTT is available as an alternative.[^2][^7]

On ESP32-C5, C6 and H2 and on nRF52, ESPHome can join a Zigbee network as an end device or router, with ZHA or Zigbee2MQTT as the coordinator. It supports the Home Automation profile only. The same chips can join a Thread network through ESPHome's OpenThread component, which needs a Thread border router.[^3][^4]

The Bluetooth proxy turns an ESP32 into a remote Bluetooth LE radio for Home Assistant. It forwards advertisements and, on ESP32 and RP2040, active connections.[^8]

## Local or cloud

ESPHome devices work with Home Assistant locally, with no cloud account involved.[^1][^6]

## Limitations

- Zigbee support exposes only basic properties, and Wi-Fi access point mode cannot run alongside Zigbee. The docs report the ESP32-H2 as more reliable than the C6.[^3]
- On Thread, OTA updates fail on sleepy devices with a poll period set, and sleepy end device support is incomplete.[^4]
- The Bluetooth proxy handles BLE only, with three active connection slots by default on ESP32.[^8]

## Devices that list ESPHome

**Devices that work with ESPHome**

| Device | Path | Support | Integration |
| --- | --- | --- | --- |
| Espressif ESP32-DevKitC | DIY firmware | withheld |  |
| [Konnected Alarm Panel Pro (Board Only)](https://smarthomecanon.com/devices/konnected-alarm-panel-pro-conversion-kit) | Wi-Fi local | withheld |  |
| [Konnected Alarm Panel Pro 12-Zone Conversion Kit](https://smarthomecanon.com/devices/konnected-alarm-panel-pro-conversion-kit) | Wi-Fi local | withheld |  |
| [Konnected Alarm Panel Pro 12-Zone Interface Kit](https://smarthomecanon.com/devices/konnected-alarm-panel-pro-conversion-kit) | Wi-Fi local | withheld |  |
| [Konnected Smart Garage Door Opener blaQ](https://smarthomecanon.com/devices/konnected-gdo-blaq) | Wi-Fi local | withheld |  |
| [Konnected Smart Garage Door Opener White (v2)](https://smarthomecanon.com/devices/konnected-gdo-white-v2) | Wi-Fi local | withheld |  |

## Sources

[^1]: ESPHome - Smart Home Made Simple. https://esphome.io/ (platform documentation, checked 2026-10-09)
[^2]: Native API Component - ESPHome. https://esphome.io/components/api/ (platform documentation, checked 2026-10-09)
[^3]: Zigbee Component - ESPHome. https://esphome.io/components/zigbee/ (platform documentation, checked 2026-10-09)
[^4]: OpenThread Component - ESPHome. https://esphome.io/components/openthread/ (platform documentation, checked 2026-10-09)
[^5]: OTA Update Component - ESPHome. https://esphome.io/components/ota/ (platform documentation, checked 2026-10-09)
[^6]: ESPHome - Home Assistant. https://www.home-assistant.io/integrations/esphome/ (platform documentation, checked 2026-10-08)
[^7]: MQTT Client Component - ESPHome. https://esphome.io/components/mqtt/ (platform documentation, checked 2026-10-09)
[^8]: Bluetooth Proxy - ESPHome. https://esphome.io/components/bluetooth_proxy.html (platform documentation, checked 2026-10-09)

