gpio_deep_sleep_hold_en side effects
Posted: Sun Sep 14, 2025 11:18 am
We are working on the esp32s3.
Pin 45 is a strapping pin with a weak pull-down.
Observed behavior:
After setting pin 45 to high-impedance, a call to 'esp_deep_sleep' will pull the pin low for ~10us.
However, after calling 'gpio_deep_sleep_hold_en' the pin is not pulled low.
The documentation of 'gpio_deep_sleep_hold_en' doesn't give any indication of why this would happen. https://docs.espressif.com/projects/esp ... p_hold_env
In fact, the documentation makes it sound, like a call to 'gpio_deep_sleep_hold_en' doesn't have any effect on pins that had 'gpio_hold_en' called:
- is it normal that we see the 10us pulse on pin 45 without 'esp_deep_sleep_hold_en' ?
- can we rely on the current behavior of 'gpio_deep_sleep_hold_en' (wrt pin 45).
- are there other side effects of 'gpio_deep_sleep_hold_en' if we never call 'gpio_hold_en'?
Pin 45 is a strapping pin with a weak pull-down.
Observed behavior:
After setting pin 45 to high-impedance, a call to 'esp_deep_sleep' will pull the pin low for ~10us.
However, after calling 'gpio_deep_sleep_hold_en' the pin is not pulled low.
The documentation of 'gpio_deep_sleep_hold_en' doesn't give any indication of why this would happen. https://docs.espressif.com/projects/esp ... p_hold_env
In fact, the documentation makes it sound, like a call to 'gpio_deep_sleep_hold_en' doesn't have any effect on pins that had 'gpio_hold_en' called:
Questions:For digital IO, this API takes effect only if the corresponding digital IO pad hold function has been enabled.
- is it normal that we see the 10us pulse on pin 45 without 'esp_deep_sleep_hold_en' ?
- can we rely on the current behavior of 'gpio_deep_sleep_hold_en' (wrt pin 45).
- are there other side effects of 'gpio_deep_sleep_hold_en' if we never call 'gpio_hold_en'?