@@ -162,3 +162,54 @@ ESPxx Hardware
162162
163163### Improved Stability
164164![ 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