ESP32 vs ESP8266 for ESPHome: Which Board?
Published · figures computed from the dataset, last updated
Every wired pairing in this index names a host board, and the choice is nearly always between some ESP32 variant and the ten-year-old ESP8266. Both run ESPHome well — 106 of our curated configs target an ESP32-family board and 10 target the ESP8266 — so the honest comparison is not "which works" but "which runs out of hardware first for your build".
The numbers that decide it
| Capability | ESP32 | ESP8266 |
|---|---|---|
| Usable GPIO pins | 26 | 9 |
| Hardware UARTs available | 2 | 1 |
| Usable analog inputs | 6 | 1 |
| Analog caveat | ADC1 only (GPIO32-39). ADC2 is unusable while Wi-Fi is on, which is always here. | One ADC pin (A0), 0-1.0V range — most boards add a divider for 3.3V. |
Same table the conflict planner uses when it checks whether your parts list physically fits a board.
Where the ESP8266 still wins
- Price and availability. D1 Mini clones cost pocket change and are everywhere.
- Single-job nodes. One I2C climate sensor, one relay, one PIR — the 10 ESP8266 pairings documented here are almost all of exactly this shape.
- Maturity. A decade of community wiring guides, and every mainstream ESPHome component supports it.
Where it runs out
- One usable analog pin, with a 0–1.0V range that most boards stretch with a divider. A second analog sensor means a second board or an external ADC.
- One full UART. A CO2 sensor and a particulate sensor both want serial; on an ESP8266 one of them loses.
- Nine usable GPIOs, several with boot-strapping duties that bite you at reset — the classic "relay clicks on every power cycle" complaint is a strapping-pin story.
- No Bluetooth, so no BLE presence or proxy work, and no camera interface.
The ESP32 trap worth knowing before you wire anything
The classic ESP32 advertises more analog pins than you can use: everything on ADC2 stops converting while Wi-Fi is active, and on an ESPHome node Wi-Fi is always active. Plan analog sensors onto ADC1 (GPIO32–39) from the start. The planner flags this automatically when you add analog parts, and each variant's page in the ESPHome hub notes its own version of the constraint.
Which ESP32, then?
- Classic ESP32 — the default: most pins, two UARTs, the reference target for nearly every config in this index.
- ESP32-C3 — RISC-V, small and cheap, one UART; the modern replacement for the ESP8266's niche.
- ESP32-S3 — cameras, USB-OTG, big displays and voice work.
Whatever the host, the peripheral decides the wiring: browse I²C parts, UART devices or the function categories and each page names its pins, bus and an ESPHome config where one is verified.
Frequently Asked Questions
Is the ESP8266 obsolete?
Why do my analog readings break when Wi-Fi connects on an ESP32?
Which variant should a new project default to?
More guides
Zigbee vs Z-Wave vs Matter: Choosing a Protocol
How the three main smart home radio protocols differ in range, hub requirements and ecosystem size — and how to choose between them for a new setup.
Do You Need a Thread Border Router?
What a Thread border router actually does, which devices count as one, and how to tell whether the Matter device in your basket needs one before it will pair.
I²C Address Conflicts, Explained
Why two sensors can refuse to share a bus, how address strapping works, and the three ways out of a conflict: re-strap, second bus, or multiplexer.
mmWave Radar vs PIR: Choosing a Presence Sensor
PIR sees you move; radar sees you exist. When each one is the right answer, why mmWave ends the lights-go-off-while-reading problem, and every radar and PIR option documented in this index.
Natively Supported vs Bridge Needed: What Our Verdicts Mean
The three compatibility verdicts this site assigns, what each one commits you to in hardware and maintenance, and why "works with" on a box rarely tells you which you are getting.