All devices based on the original ESP32 are supported by ESPHome. Simply select
the ESPHome wizard asks you for your platform and choose a board type
from this link when the wizard
asks you for the board type.
# Example configuration entry esphome: name: livingroom platform: ESP32 board: <BOARD_TYPE>
Support for the ESP32-S2 and ESP32-C3 is currently in development.
The ESP32 boards often use the internal GPIO pin numbering on the board, this means that you don’t have to worry about other kinds of pin numberings, yay!
Some notes about the pins on the ESP32:
GPIO0is used to determine the boot mode on startup. It should therefore not be pulled LOW on startup to avoid booting into flash mode. You can, however, still use this as an output pin.
GPIO39can not be used as outputs (even though GPIO stands for “general purpose input output”…).
GPIO39: These pins can be used with the Analog To Digital Sensor to measure voltages.
GPIO2: This pin is connected to the blue LED on the board. It also supports the touch pad binary sensor like some other pins.
# Example configuration entry esphome: name: livingroom platform: ESP32 board: <BOARD_TYPE> binary_sensor: - platform: gpio name: "Pin GPIO23" pin: GPIO23