ESPHome is an open-source firmware framework that simplifies the process of creating custom firmware for popular Wi-Fi and Bluetooth microcontrollers, particularly those made by Espressif. Rather than writing C++ code directly, users describe device behavior in YAML configuration files, and ESPHome compiles the appropriate firmware. Devices running ESPHome firmware integrate seamlessly with Home Assistant via native API or MQTT.
ESPHome runs as a server process that manages compilation and over-the-air (OTA) firmware updates. It can be installed on a workstation or on a Home Assistant host. Installing it on a workstation is generally preferred for faster build times and easier USB access during initial flashing.
In This Home
Most of the ESPHome-based devices in the home run on Espressif ESP32 microprocessors packaged on [Seeed Studios](A10-Glossary/Seeed Studios.md) XIAO ESP32 development boards. ESPHome is managed as part of the [Home Automation](30-Systems/Home Automation/index.md) system. Firmware configs live in auto/esphome/ in the repository.