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.
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!