Use this forum to chat about hardware specific topics for the ESP8266 (peripherals, memory, clocks, JTAG, programming)

User avatar
By Melanie_T
#78324 There is one more thing that can happen, which is that, when you flash a chip that has been sleeping, it may get reset by the RTC while flashing.

This little bit of magic can be use to disconnect the RTC from GPIO16:

WRITE_PERI_REG(PAD_XPD_DCDC_CONF, (READ_PERI_REG(PAD_XPD_DCDC_CONF) & 0xffffffbc) | (uint32)0x1);

After that, RTC resets will no longer appear on GPIO16 until deep sleep is invoked again.
User avatar
By Stevo Keano
#80426
martinayotte wrote:This is because you used a plain wire between RST and GPIO16.
The issue is that GPIO16 provides a strong HIGH during deepSleep and your external reset from Serial-TTL is fighting to make a reset, but loosing, the GPIO16 is the strongest.

To avoid such issue, simply replace the wire by a 470R or 1K between GPIO16 and RES, which will allow the Serial-TTL to win. (you can also use a schottky diode with the cathode on GPIO16 side)


You totally nailed this! My rig was failing at wake-up and the 1k resistor fixed the wake-up too.

Cheers!