ESPHome config generator
Choose a board and what's wired to it. The YAML updates as you go, with a fresh API encryption key and OTA password, and warns you about pin choices that cause boot problems.
Your config
How to use the config
- In Home Assistant, open the ESPHome Device Builder and add a new device with the same name. When it offers to install, choose Skip — you're about to replace its config.
- Open the new device's YAML, select everything, and paste in the config above. Keep the
wifi_ssidandwifi_passwordlines as they are; they read from your ESPHome Secrets file. - Install it over USB the first time. After that, updates go over Wi-Fi using the OTA password in the config.
- Home Assistant discovers the device and asks for the encryption key. Copy it from the
api:section.
What the generated config includes
Every config gets an encrypted Home Assistant API connection, a password-protected OTA updater, and a fallback hotspot with a captive portal. If the board can't reach your Wi-Fi, it starts its own network so you can fix the settings from a phone instead of plugging into USB.
ESP32 configs use the ESP-IDF framework, which has been ESPHome's default for ESP32 since the 2026.1 release. It builds faster and uses less flash than Arduino.
Why some pins trigger warnings
A few ESP32 pins are read at power-up to decide how the chip boots. Wire a relay module or pull-up to one of them and the board can refuse to start, usually in a way that looks like a bad flash. The generator flags those pins, plus input-only pins assigned to outputs and pins used twice. For the full list, see the ESP32 safe pin finder.
Generated keys stay on your computer
The encryption key and passwords are created by your browser's random number generator. They're never sent to this site.