ESP32 Wrover waking from Deep Sleep into Flashing mode
Posted: Tue Nov 30, 2021 7:15 pm
I have a very strange situation on a number of production devices: all ESP32-wrover with SPIRAM enabled, running the same IDF version 3.3-r5, powered via battery and using the ESP-IDF Deep Sleep.
Periodically, a device will wake up from sleep mode (usually following a timer expiry), but load into boot mode. No cables are connected to the ports so GPIO0 is not being held low - at worst it's floating (as we expose the flashing pins to a usb-c port which is also used to power the device). Because the device is battery powered, it then just sits there in flash mode, and the customer isn't able to boot it back into normal mode unless we send them a cable with an external pulldown resistor.
Could this somehow be software related? Before putting the device into deep sleep, is there something I need to do to ensure that the internal pulldown on GPIO0 stays active?
Any ideas / suggestions would be extremely welcome!
Periodically, a device will wake up from sleep mode (usually following a timer expiry), but load into boot mode. No cables are connected to the ports so GPIO0 is not being held low - at worst it's floating (as we expose the flashing pins to a usb-c port which is also used to power the device). Because the device is battery powered, it then just sits there in flash mode, and the customer isn't able to boot it back into normal mode unless we send them a cable with an external pulldown resistor.
Could this somehow be software related? Before putting the device into deep sleep, is there something I need to do to ensure that the internal pulldown on GPIO0 stays active?
Any ideas / suggestions would be extremely welcome!