ESPHome logo

ESPHome

Turn ESP32, ESP8266, BK72xx, and RP2040 devices into smart home devices from configuration files

Repository activity
  • Stars11.2k
  • Forks5.4k
  • Open Issues628
esphome health score - Linux Foundation Insights
License

Other

Languages
  • C++
  • Python
  • C
ESPHome screenshot

About ESPHome

ESPHome turns supported microcontrollers into smart home devices that you control through home automation systems. It is built for devices based on ESP32, ESP8266, BK72xx, and RP2040 chips, and it uses simple configuration files instead of manual firmware editing.

Devices are defined with YAML configuration and updated over the air without physical access. A modular design supports hundreds of sensors, displays, and other components, and devices work locally without a cloud dependency. ESPHome integrates closely with Home Assistant and is a project of the Open Home Foundation.

It is designed for device firmware workflows rather than a hosted service, so the software builds firmware that runs on hardware you provide. Many components can also be run on a desktop computer using the host platform for testing.

Key features

  • YAML-based device configuration, no coding
  • Over-the-air wireless firmware updates
  • Hundreds of sensor and display components
  • Local control without cloud dependency
  • Supports ESP32, ESP8266, BK72xx, and RP2040

Details

First released
2018
Platforms
CLI · Web
Deployment
self-hostable
Input format
YAML
Device targets
ESP32 · ESP8266 · BK72xx · RP2040
Home automation
Home Assistant integration