@@ -101,3 +101,61 @@ be the same everytime, and most likely different for all ESP8266 chips). The
101101password for the WiFi is micropythoN (note the upper-case N). Its IP address
102102will be 192.168.4.1 once you connect to its network. WiFi configuration will
103103be discussed in more detail later in the tutorial.
104+
105+ Troubleshooting installation problems
106+ -------------------------------------
107+
108+ If you experience problems during flashing or with running firmware immediately
109+ after it, here are troubleshooting recommendations:
110+
111+ * Be aware of and try to exclude hardware problems. There are 2 common problems:
112+ bad power source quality and worn-out/defective FlashROM. Speaking of power
113+ source, not just raw amperage is important, but also low ripple and noise/EMI
114+ in general. If you experience issues with self-made or wall-wart style power
115+ supply, try USB power from a computer. Unearthed power supplies are also known
116+ to cause problems as they source of increased EMI (electromagnetic interference)
117+ - at the very least, as by the common safety standards they are considered
118+ a hazard which may lead to electrical device breakdown and eletric shock to
119+ humans. Please avoid using unearthed power connections at any time. In regard
120+ to FlashROM hardware problems, there are independent (not related to MicroPython
121+ in any way) reports
122+ `(e.g.) <https://github.com/peterhinch/micropython-samples.git >`_
123+ that on some ESP8266 modules, FlashROM can be programmed as little as 20 times
124+ before programming errors occur. This is *much * less than 100,000 programming
125+ cycles cited for FlashROM chips of a type used with ESP8266 by reputable
126+ vendors, which points to either production rejects, or second-hand worn-out
127+ flash chips to be used on some (apparently cheap) modules/boards. You may want
128+ to use your best judgement about source, price, documentation, warranty,
129+ post-sales support for the modules/boards you purchase.
130+
131+ * The flashing instructions above use flashing speed of 460800 baud, which is
132+ good compromise between speed and stability. However, depending on your
133+ module/board, USB-UART convertor, cables, host OS, etc., the above baud
134+ rate may be too high and lead to errors. Try a more common 115200 baud
135+ rate instead in such cases.
136+
137+ * The ``--flash_size `` option in the commands above is mandatory. Omitting
138+ it will lead to a corrupted firmware.
139+
140+ * To catch incorrect flash content (e.g. from a defective sector on a chip),
141+ add ``--verify `` switch to the commands above.
142+
143+ * Additionally, you can check the firmware integrity from a MicroPython REPL
144+ prompt (assuming you were able to flash it and ``--verify `` option doesn't
145+ report errors)::
146+ import esp
147+ esp.check_fw()
148+ If the last output value is True, the firmware is OK. Otherwise, it's
149+ corrupted and need to be reflashed correctly.
150+
151+ * If you experience any issues with another flashing application (not
152+ esptool.py), try esptool.py, it is a generally accepted flashing
153+ application in the ESP8266 community.
154+
155+ * If you still experience problems with even flashing the firmware, please
156+ refer to esptool.py project page, https://github.com/themadinventor/esptool
157+ for additional documentation and bug tracker where you can report problems.
158+
159+ * If you are able to flash firmware, but ``--verify `` option or
160+ ``esp.check_fw() `` return errors even after multiple retries, you
161+ may have a defective FlashROM chip, as explained above.
0 commit comments