@@ -162,3 +162,54 @@ ESPxx Hardware
162
162
163
163
### Improved Stability
164
164
![ ESP improved stability] ( ESP_improved_stability.png )
165
+
166
+ ### Boot Messages and Modes
167
+
168
+ The ESP module checks at every boot the Pins 0, 2 and 15.
169
+ based on them its boots in different modes:
170
+
171
+ | GPIO15 | GPIO0 | GPIO2 | Mode |
172
+ | ------ | ----- | ----- | -------------------------------- |
173
+ | 0V | 0V | 3.3V | Uart Bootloader |
174
+ | 0V | 3.3V | 3.3V | Boot sketch (SPI flash) |
175
+ | 3.3V | x | x | SDIO mode (not used for Arduino) |
176
+
177
+
178
+ at startup the ESP prints out the current boot mode example:
179
+ ```
180
+ rst cause:2, boot mode:(3,6)
181
+ ```
182
+
183
+ note:
184
+ - GPIO2 is used as TX output and the internal Pullup is enabled on boot.
185
+
186
+ #### rst cause
187
+
188
+ | Number | Description |
189
+ | ------ | ---------------------- |
190
+ | 0 | unknown |
191
+ | 1 | normal boot |
192
+ | 2 | reset pin |
193
+ | 3 | software reset |
194
+ | 4 | watchdog reset |
195
+
196
+
197
+ #### boot mode
198
+
199
+ the first value respects the pin setup of the Pins 0, 2 and 15.
200
+
201
+ | Number | GPIO15 | GPIO0 | GPIO2 | Mode |
202
+ | ------ | ------ | ----- | ----- | ---------- |
203
+ | 0 | 0V | 0V | 0V | Not valid |
204
+ | 1 | 0V | 0V | 3.3V | Uart |
205
+ | 2 | 0V | 3.3V | 0V | Not valid |
206
+ | 3 | 0V | 3.3V | 3.3V | Flash |
207
+ | 4 | 3.3V | 0V | 0V | SDIO |
208
+ | 5 | 3.3V | 0V | 3.3V | SDIO |
209
+ | 6 | 3.3V | 3.3V | 0V | SDIO |
210
+ | 7 | 3.3V | 3.3V | 3.3V | SDIO |
211
+
212
+ note:
213
+ - number = ((GPIO15 << 2) | (GPIO0 << 1) | GPIO2);
214
+
215
+
0 commit comments