DIY Electronics
— Building circuits, programming microcontrollers, and making things blinkPIR sensor false triggers — every cause and fix I found
Debugging a Non-Starting ESP8266
Got a batch of ten ESP-12F modules and three of them wouldn't boot. Here's the systematic diagnosis that found the issue.
Firstly, check the boot pins. GPIO15 must be low, GPIO0 must be high (or floating), GPIO2 must be high for normal boot. If any of these are wrong the ESP8266 enters flash mode or fails to boot entirely. Secondly, check power supply: the ESP8266 draws up to 350mA on WiFi connect and the voltage must stay above 2.7V. Powering from a 500mA USB-serial adapter's 3.3V rail causes a voltage droop that looks like a random crash loop.
For my specific three modules: the EN (chip enable) pin had a marginal pull-up resistor (10k) that was just barely holding the pin high. Under slight thermal stress the chip was not enabling. Switching to a 3.3k pull-up on EN fixed all three. The ESP8266 datasheet recommends 10-12k but tighter is safer for EN.