@@ -11,7 +11,7 @@ This component contains platform-specific options for the ESP32 platform.
11
11
12
12
# Example configuration entry
13
13
esp32 :
14
- board : nodemcu-32s
14
+ board : esp32dev
15
15
16
16
Configuration variables:
17
17
------------------------
@@ -21,8 +21,6 @@ Configuration variables:
21
21
to the name can be used to copy the board ID). *This only affects pin aliases, flash size and some internal settings *;
22
22
if unsure or you cannot find your exact board, using a generic board (from Espressif) such as ``esp32dev `` almost
23
23
always works just fine.
24
- - **framework ** (*Optional *): Options for the underlying framework used by ESPHome. See :ref: `esp32-arduino_framework `
25
- and :ref: `esp32-espidf_framework `.
26
24
- **flash_size ** (*Optional *, string): The amount of flash memory available on the ESP32 board/module. One of ``2MB ``,
27
25
``4MB ``, ``8MB ``, ``16MB `` or ``32MB ``. Defaults to ``4MB ``. **Warning: specifying a size larger than that available
28
26
on your board will cause the ESP32 to fail to boot. **
@@ -31,31 +29,8 @@ Configuration variables:
31
29
- **variant ** (*Optional *, string): The variant of the ESP32 that is used on this board. One of ``esp32 ``,
32
30
``esp32s2 ``, ``esp32s3 ``, ``esp32c3 `` and ``esp32h2 ``. Defaults to the variant that is detected from the board; if
33
31
a board that's unknown to ESPHome is used, this option is mandatory.
34
-
35
- GPIO Pin Numbering
36
- ------------------
37
-
38
- The ESP32 boards often use the internal GPIO pin numbering based on the microcontroller, so you likely don't have to
39
- worry about pin alias names or numbering...yay!
40
-
41
- Some notes about the pins on the original ESP32:
42
-
43
- - ``GPIO0 `` is used to determine the boot mode on startup; note that **ESP32 variants use differnt pins to determine
44
- the boot mode. ** Bootstrapping pin(s) should **not ** be pulled LOW on startup to avoid booting into flash mode when
45
- it's not desired. You can, however, still use the strapping pins as output pins.
46
- - ``GPIO34 `` to ``GPIO39 ``: These pins **cannot ** be used as outputs (yes, even though GPIO stands for "general purpose
47
- input/**output **"...).
48
- - ``GPIO32 `` to ``GPIO39 ``: These pins can be used with the :doc: `/components/sensor/adc ` to measure voltages.
49
- - ``GPIO2 ``: On the ``esp32dev `` board, this pin is connected to the blue LED. It also supports the
50
- :doc: `touch pad binary sensor </components/binary_sensor/esp32_touch >` (in addition to a few other pins).
51
-
52
- .. code-block :: yaml
53
-
54
- # Example configuration entry
55
- binary_sensor :
56
- - platform : gpio
57
- name : " Pin GPIO23"
58
- pin : GPIO23
32
+ - **framework ** (*Optional *): Options for the underlying framework used by ESPHome. See :ref: `esp32-arduino_framework `
33
+ and :ref: `esp32-espidf_framework `.
59
34
60
35
.. _esp32-arduino_framework :
61
36
@@ -68,13 +43,12 @@ This is the default framework for ESP32 chips at the moment.
68
43
69
44
# Example configuration entry
70
45
esp32 :
71
- board : nodemcu-32s
46
+ board : ...
72
47
framework :
73
48
type : arduino
74
- version : 2.0.0
75
49
76
50
Configuration variables:
77
- ------------------------
51
+ ************************
78
52
79
53
- **version ** (*Optional *, string): The base framework version number to use, from
80
54
`ESP32 arduino releases <https://github.com/espressif/arduino-esp32/releases >`__. Defaults to ``recommended ``.
@@ -89,6 +63,7 @@ Configuration variables:
89
63
custom or patched version of the framework.
90
64
- **platform_version ** (*Optional *, string): The version of the
91
65
`platformio/espressif32 <https://github.com/platformio/platform-espressif32/releases/ >`__ package to use.
66
+ - **advanced ** (*Optional *, mapping): See :ref: `esp32-advanced_configuration ` below.
92
67
93
68
.. _esp32-espidf_framework :
94
69
@@ -102,19 +77,12 @@ ESP32S3, ESP32C3 and single-core ESP32 chips.
102
77
103
78
# Example configuration entry
104
79
esp32 :
105
- board : esp32-c3-devkitm-1
80
+ board : ...
106
81
framework :
107
82
type : esp-idf
108
- version : recommended
109
- # Custom sdkconfig options
110
- sdkconfig_options :
111
- COMPILER_OPTIMIZATION_SIZE : y
112
- # Advanced tweaking options
113
- advanced :
114
- ignore_efuse_mac_crc : false
115
83
116
84
Configuration variables:
117
- ------------------------
85
+ ************************
118
86
119
87
- **version ** (*Optional *, string): The base framework version number to use, from
120
88
`ESP32 ESP-IDF releases <https://github.com/espressif/esp-idf/releases >`__. Defaults to ``recommended ``.
@@ -132,13 +100,43 @@ Configuration variables:
132
100
- **sdkconfig_options ** (*Optional *, mapping): Custom sdkconfig
133
101
`compiler options <https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/kconfig.html#compiler-options >`__
134
102
to set in the ESP-IDF project.
135
- - **advanced ** (*Optional *, mapping): Advanced options for highly specific tweaks.
103
+ - **advanced ** (*Optional *, mapping): See :ref: `esp32-advanced_configuration ` below.
104
+
105
+ .. _esp32-advanced_configuration :
106
+
107
+ Advanced Configuration
108
+ ----------------------
109
+
110
+ - **ignore_efuse_custom_mac ** (*Optional *, boolean): Can be set to ``true `` for devices on which the burned-in custom
111
+ MAC address is not valid.
112
+ - **ignore_efuse_mac_crc ** (*Optional *, boolean): Can be set to ``true `` for devices on which the burned-in MAC
113
+ address is not consistent with the burned-in CRC for that MAC address, resulting in an error like
114
+ ``Base MAC address from BLK0 of EFUSE CRC error ``. **Valid only on original ESP32 with ** ``esp-idf `` **framework. **
115
+
116
+ GPIO Pin Numbering
117
+ ------------------
118
+
119
+ The ESP32 boards often use the internal GPIO pin numbering based on the microcontroller, so you likely don't have to
120
+ worry about pin alias names or numbering...yay!
121
+
122
+ Some notes about the pins on the original ESP32:
123
+
124
+ - ``GPIO0 `` is used to determine the boot mode on startup; note that **ESP32 variants use different pins to determine
125
+ the boot mode. ** Bootstrapping pin(s) should **not ** be pulled LOW on startup to avoid booting into flash mode when
126
+ it's not desired. You can, however, still use the strapping pins as output pins.
127
+ - ``GPIO34 `` to ``GPIO39 ``: These pins **cannot ** be used as outputs (yes, even though GPIO stands for "general purpose
128
+ input/**output **"...).
129
+ - ``GPIO32 `` to ``GPIO39 ``: These pins can be used with the :doc: `/components/sensor/adc ` to measure voltages.
130
+ - ``GPIO2 ``: On the ``esp32dev `` board, this pin is connected to the blue LED. It also supports the
131
+ :doc: `touch pad binary sensor </components/binary_sensor/esp32_touch >` (in addition to a few other pins).
136
132
137
- - **ignore_efuse_custom_mac ** (*Optional *, boolean): Can be set to ``true `` for devices on which the burned-in custom
138
- MAC address is not valid.
139
- - **ignore_efuse_mac_crc ** (*Optional *, boolean): Can be set to ``true `` for devices on which the burned-in MAC
140
- address is not consistent with the burned-in CRC for that MAC address, resulting in an error like
141
- ``Base MAC address from BLK0 of EFUSE CRC error ``.
133
+ .. code-block :: yaml
134
+
135
+ # Example configuration entry
136
+ binary_sensor :
137
+ - platform : gpio
138
+ name : " Pin GPIO23"
139
+ pin : GPIO23
142
140
143
141
See Also
144
142
--------
0 commit comments