Page 1 of 1

ulp power consumption

Posted: Sun Feb 02, 2020 7:00 pm
by c32958
Hi,

I'm working on a device that uses the ULP to poll a sensor in the background and wakes periodically to upload data. Everything is working just as it should, but there are some power consumption anomalies I cannot seem to fix.

In particular, on first power-on, the device connects to wifi, syncs with the cloud, and then goes into deep sleep and polls the sensor. This first sleep works perfectly. For every subsequent wake/sleep cycle, the ULP power consumption is notably higher. This is strange, because the code run is exactly the same -- there isn't any difference in what gets called/used on the first vs subsequent wakeups. I've attached a graph that shows the power differential (the lines going up and off are the power consumption while the main processor is running). Though the scale doesn't show it, the time when the ULP is asleep has the same power consumption on after first deep sleep and after subsequent deep sleeps, however, when the ULP itself cycles wake/sleep after the second deep sleep, it consumes quite a lot more power while polling

Given that it works fine on a full reset, I don't believe this problem has anything to do with the board, measurement equipment, or circuitry. It is consistent across several difference ESP32 boards (all are Firebeetle ESP32s), so it isn't a single-board anomaly.

I've tried the following, in various combinations:

adc_power_off -- slight help with base load, no difference to the peaks
esp_wifi_deinit -- no notable difference
touchpad_deinit -- no difference (I don't use the touch pad, but I tried initing and deiniting it just in case it triggered something)
isolating or not isolating gpios -- no notable difference
gpio_deep_sleep_hold_dis -- no difference

I would welcome any suggestions for how to run this down.

Chris

Re: ulp power consumption

Posted: Mon Feb 07, 2022 6:28 am
by kjm1102
So ULP amps goes from ~0.2mA first cycle to ~2mA on subsequents? Wow, that's an order of magnitude! Are you cloud syncing via wifi? What happens if you temporarily comment out the wlan section, are the subsequent ULP cycles still high current?