ESPHome can be installed in three ways: via pip (Python’s package manager) on Windows, macOS, and Linux; via Docker for a self-contained, dependency-free environment; or as a Home Assistant add-on for the simplest possible setup. Choose the method that fits your workflow — the end result and feature set are identical across all three.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/esphome/esphome.io/llms.txt
Use this file to discover all available pages before exploring further.
System Requirements
| Requirement | Minimum | Notes |
|---|---|---|
| Python | 3.11+ | 3.11 or newer required |
| pip | bundled with Python | Used to install ESPHome and dependencies |
| RAM | 512 MB | 1 GB+ recommended for compiling |
| Disk | 2 GB free | PlatformIO toolchain is downloaded on first build |
| OS | Windows 10+, macOS 12+, Linux | Any reasonably modern distribution |
ESPHome requires Python 3.11 or newer. Check your version with
python3 --version before installing.Install via pip
Using a Virtual Environment
Using a Python virtual environment (venv) is strongly recommended on all platforms. It keeps ESPHome and its dependencies isolated from your system Python, avoids permission issues, and makes it easy to upgrade or remove ESPHome without affecting other tools.
command not found error after installing, your local bin directory may not be on PATH:
Install via Docker
The official ESPHome Docker image (ghcr.io/esphome/esphome) bundles ESPHome and all its dependencies — no Python setup required. It supports AMD64, ARM, and ARM64 (AArch64) architectures.
Docker Image Tags
| Tag | Points to | Recommended use |
|---|---|---|
latest / stable | Latest stable release | Manual, one-off pulls |
YEAR.MONTH (e.g., 2024.12) | Latest patch in that release series | Recommended for auto-updates — no breaking changes within a series |
beta | Latest beta, or latest stable when no beta exists | Testing upcoming features |
dev | Daily build from the dev branch | Development and cutting-edge testing |
Avoid auto-updating containers pinned to
latest or stable. ESPHome releases occasionally include breaking changes between major versions. Pin to a YEAR.MONTH tag and update manually after reviewing the release notes.Docker Run (one-off commands)
Docker Compose
For a persistent ESPHome Device Builder service, use Docker Compose:docker compose up -d, then open http://<your-host>:6052.
If you back your Docker config volume with an NFS share, mount it with the
nolock option. Without it, PlatformIO (the underlying build system) may hang on startup. See platformio-core#3089.Install as a Home Assistant Add-on
If you run Home Assistant OS or Home Assistant Supervised, the ESPHome Device Builder is available as a native add-on with one-click install:Install and Start
Click the add-on, then click Install. Once installed, enable Start on boot and Watchdog, then click Start.
Verifying Your Installation
Regardless of installation method, you should be able to run:~/.local/bin to your PATH.
Updating ESPHome
Where to Go Next
- Home Assistant Guide — flash your first device using the add-on web UI
- Command Line Guide — use
esphome run,logs, andwizardfrom your terminal - Component Reference — browse sensors, outputs, displays, and more
- Developer Site — set up a local development environment for contributing to ESPHome