Page 1 of 1

Sleep time drift due to temperature when using ULP/ulp_set_wakeup_period()

Posted: Sat Dec 26, 2020 1:57 pm
by MarcRoma
I am experiencing a sleep time drift/error when using ULP wakeup under different temperatures.

I am calling:
ulp_set_wakeup_period(900000000) // 15 minutes
Situation1:
- ESP32 Wroom 32E runs on ~23 degrees Celsius, I see the wake up happening about 2 seconds earlier than the 15 minutes. For me this is an acceptable drift/error.
Situation 2:
- ESP32 Wroom 32E runs on ~0 degrees Celsius, it wakes up around 40~50 seconds earlier. This is NOT acceptable for my use case.

Has someone experienced something similar ? is this an expected behaviour ? I would expect no drift/error or, at least, same drift, regardless of the temperature.

Note - Situation 3 (no ULP):
- When using esp_sleep_enable_timer_wakeup() - ie. no ULP involved - the drift/error is the same regardless of the temperature.