I’ve an Adafruit Huzzah doing something odd, and I’m looking for ideas for finding the cause.
My program sleeps for a minute, wakes up, takes a temperature reading from a DS18B20 on GPIO4, transmits, and then goes back to sleep. GPIO16 (XPD_DCDC) is tied to RESET_5V on JP4, to support the wake up.
Everything works fine for about 15 to 20 minutes. Eventually, the red GPIO0 LED lights up. When that happens, the ESP8266 does not wake up.
When working, the 3V pin is 3.289V, as is GPIO0. When the module is locked up, the 3V pin is 3.283V and GPIO0 is 1.824V. (using a DC multimeter).
Removing power for one second fixes the problem for another 15 to 20 minutes.
When the module is locked up, pressing reset does not reset; it extinguishes the GPIO0 LED for the duration of the press, and blinks the blue LED on the ESP-12, but otherwise does nothing.
I’ve made sure all unused pins are grounded, tied to 3.3V, or driven as outputs. No change.
I noticed the schematic ties GPIO0 to a 1k resistor R2 then to the red LED D3, then to 3.3V. I figure the forward voltage of the LED will not work as a pullup, so I’ve added a 270k resistor to 3.3V just to make the logic level unambiguous. No change.
The same program works fine on ESP-01, and a Sparkfun Thing, but the Huzzah has an ESP-12. There’s nothing in the program that is timed for about 20 minutes, and the wake is a reset anyway. There’s no writing to flash.
I’ve inspected the board with a microscope, it looks fine. I’ve tried using an external 3.3V regulator. I’ve replaced the sensor. I’ve checked the pullup resistor (4k7). I’ve tried different power sources; LiPoly battery, 5V USB adapter, and 5V FTDI adapter.