ESP32 Platform

This component contains platform-specific options for the ESP32 platform.

# Example configuration entry
esp32:
  board: nodemcu-32s

Configuration variables:

  • board (Required, string): The PlatformIO board ID that should be used. Choose the appropriate board from this list. This only affects pin aliases, flash size and some internal settings, if unsure choose a generic board.

  • framework (Optional): Options for the underlying framework used by ESPHome. See Arduino framework and ESP-IDF framework.

  • variant (Optional, boolean): Defaults to the variant detected from the board. If the board is not known this option becomes mandatory. One of esp32, esp32s2, esp32s3, esp32c3 and esp32h2.

Arduino framework

This is the default framework for ESP32 chips at the moment.

# Example configuration entry
esp32:
  board: nodemcu-32s
  framework:
    type: arduino
    version: 2.0.0
  • version (Optional, string): The base framework version number to use, from ESP32 arduino releases. Defaults to recommended. Additional values are:

  • source (Optional, string): The PlatformIO package or repository to use for framework. This can be used to use a custom or patched version of the framework.

  • platform_version (Optional, string): The version of the platformio/espressif32 package to use.

ESP-IDF framework

This is an alternative base framework for ESP32 chips, and recommended for variants of the ESP32 like ESP32S2, ESP32S3, ESP32C3 and single-core ESP32 chips.

# Example configuration entry
esp32:
  board: esp32-c3-devkitm-1
  framework:
    type: esp-idf
    version: recommended
  # Custom sdkconfig options
  sdkconfig_options:
    CONFIG_COMPILER_OPTIMIZATION_SIZE: y
  # Advanced tweaking options
  advanced:
    ignore_efuse_mac_crc: false
  • version (Optional, string): The base framework version number to use, from ESP32 ESP-IDF releases. Defaults to recommended. Additional values are:

  • source (Optional, string): The PlatformIO package or repository to use for the framework. This can be used to use a custom or patched version of the framework.

  • platform_version (Optional, string): The version of the platformio/espressif32 package to use.

  • sdkconfig_options (Optional, mapping): Custom sdkconfig options to set in the ESP-IDF project.

  • advanced (Optional, mapping): Advanced options for highly specific tweaks.

    • ignore_efuse_mac_crc (Optional, boolean): Can be set to true for devices on which the burnt in MAC address does not match the also burnt in CRC for that MAC address, resulting in an error like Base MAC address from BLK0 of EFUSE CRC error.

See Also