Hi, I'm looking into my custom board's light sleep current consumption. I'm expecting well below sub-1mA, given ESP32-S3 240 uA light sleep current (claimed on the datasheet) + quiescent current draw from components on-board which I estimate to just be a few hundred uA.
I've used the light sleep example to test it out, with the only modification to the example disabling the uart and touch wake. However, when I look at the current draw through a Nordic PPK2, I get this:
There is a ~700 uA dip for ~100 ms+ (which is what I expect light sleep current to be around), then the current consumption goes to ~1.90 mA. Is this normal?
Higher-than-expected ESP32-S3 Light Sleep Current
-
- Posts: 11
- Joined: Tue Oct 17, 2023 1:44 am
-
- Posts: 11
- Joined: Tue Oct 17, 2023 1:44 am
Re: Higher-than-expected ESP32-S3 Light Sleep Current
Ok, this seems to be related to some current leakage to the flash. If flash *is* powered down, the light sleep current remains at ~700 uA.
Though, is the leakage current expected to be that high (difference of ~1.1 mA), even with the workaround Kconfig option enabled?
Though, is the leakage current expected to be that high (difference of ~1.1 mA), even with the workaround Kconfig option enabled?
-
- Posts: 11
- Joined: Tue Oct 17, 2023 1:44 am
Re: Higher-than-expected ESP32-S3 Light Sleep Current
Another update, I think I've managed to reach the theoretical light sleep current mentioned in the datasheet:
This was achieved in the following conditions:
- kconfig: enable PM, enable tickless idle, enable flash power down
- configure pm with auto light sleep enabled
- use esp light sleep start function + timer wake *or* task delay
However, again: if the flash power down is disabled:
There is a dip to ~200 uA, and then it increases to ~1.4 mA. It would be nice if there is a way to not such have a high penalty for turning off flash power down...
This was achieved in the following conditions:
- kconfig: enable PM, enable tickless idle, enable flash power down
- configure pm with auto light sleep enabled
- use esp light sleep start function + timer wake *or* task delay
However, again: if the flash power down is disabled:
There is a dip to ~200 uA, and then it increases to ~1.4 mA. It would be nice if there is a way to not such have a high penalty for turning off flash power down...
-
- Posts: 11
- Joined: Tue Oct 17, 2023 1:44 am
Re: Higher-than-expected ESP32-S3 Light Sleep Current
In the documentation, it says it's ok to power down flash using:
If the rtc timer is not set as wake source *or* the sleep timer is long enough. Lifted verbatim from the docs:
Because if so, does that mean: rtcTimerAsWakeupSrc = true, sleepTimeLongEnough = true is ok?
Also, is this really safe in cases where the wakeup source is a GPIO pin - but there is a possibility that the wake interrupt might be when the flash has not powered down yet, i.e. rtcTimerAsWakeupSrc = false, sleepTimeLongEnough = false ?
----
Additional note for others that might see this thread. Due to a bug, it seems you need to do this instead
Code: Select all
esp_sleep_pd_config(ESP_PD_DOMAIN_VDDSDIO, ESP_PD_OPTION_OFF);
In terms of logic statement, does that translate to:Calling esp_sleep_pd_config(ESP_PD_DOMAIN_VDDSDIO, ESP_PD_OPTION_OFF) powers down flash when the RTC timer is not enabled as a wakeup source or the sleep time is longer than the flash power-down period.
Code: Select all
!rtcTimerAsWakeupSrc || sleepTimeLongEnough
Also, is this really safe in cases where the wakeup source is a GPIO pin - but there is a possibility that the wake interrupt might be when the flash has not powered down yet, i.e. rtcTimerAsWakeupSrc = false, sleepTimeLongEnough = false ?
----
Additional note for others that might see this thread. Due to a bug, it seems you need to do this instead
Code: Select all
esp_sleep_pd_config(ESP_PD_DOMAIN_VDDSDIO, ESP_PD_OPTION_ON);
esp_sleep_pd_config(ESP_PD_DOMAIN_VDDSDIO, ESP_PD_OPTION_OFF);
-
- Posts: 11
- Joined: Tue Oct 17, 2023 1:44 am
Re: Higher-than-expected ESP32-S3 Light Sleep Current
Any updates on this?
Who is online
Users browsing this forum: Google [Bot] and 172 guests