Deep sleep ulp interrupt pulse counter high power consumption
Posted: Tue Nov 19, 2024 9:23 pm
Hello,
I'm trying to determine if my test results are accurate or deep-sleep code could be improved somehow.
Set-up:
Hardware: ESP32-C6, DFRobot DFR1075 FireBeetle2
Test equipment: Nordic Power profiler Kit II
Example: system/ulp/lp_core/gpio_intr_pulse_counter
IDF: v5.3.1
Problem:
during deep sleep phase the board consumes 1.3mA on average
Other deep-sleep example from DFRobot (ULP timer wakep) gives me power consumption of about 0.019mA.
It looks like that the biggest contributor to the power usage is ULP program running in a while(1) loop and ulp_lp_core_wait_for_intr() call.
I tried to isolate and/or reset all pins (ULP and/or GPIO) that are not being used for the interrupt. The power usage reduced by 1mA maybe, but that' all.
Can you confirm that what I'm seeing is about accurate power consumption given the specific example?
Is there anything in IDF I could use to reduce the power consumption for ULP programs handling interrupts?
I'm trying to determine if my test results are accurate or deep-sleep code could be improved somehow.
Set-up:
Hardware: ESP32-C6, DFRobot DFR1075 FireBeetle2
Test equipment: Nordic Power profiler Kit II
Example: system/ulp/lp_core/gpio_intr_pulse_counter
IDF: v5.3.1
Problem:
during deep sleep phase the board consumes 1.3mA on average
Other deep-sleep example from DFRobot (ULP timer wakep) gives me power consumption of about 0.019mA.
It looks like that the biggest contributor to the power usage is ULP program running in a while(1) loop and ulp_lp_core_wait_for_intr() call.
I tried to isolate and/or reset all pins (ULP and/or GPIO) that are not being used for the interrupt. The power usage reduced by 1mA maybe, but that' all.
Can you confirm that what I'm seeing is about accurate power consumption given the specific example?
Is there anything in IDF I could use to reduce the power consumption for ULP programs handling interrupts?