power draw
power draw
Have measurements been done to evaluate the power consumption of the ESP32 in various situations? Such as when transmitting WiFi and Bluetooth, with radios turned on and off, in sleep modes, etc?
Re: power draw
We don't know much, but ...
So we know at least some people are getting docs.The typical stand by power consumption is ~25uA with the ULP-Coprocessor running at a 1% duty cycle.
Re: power draw
Its odd that not much authentic info is being posted to this forum.
Re: power draw
Hey all,
are there some news concerning power consumption? Yesterday I put the maincore into deep sleep and measured 5mA with everything switched off. This is far away from 25uA.
I used this code. Have I done something wrong? Of course I measured with all other power draining components removed.
I
are there some news concerning power consumption? Yesterday I put the maincore into deep sleep and measured 5mA with everything switched off. This is far away from 25uA.
I used this code. Have I done something wrong? Of course I measured with all other power draining components removed.
I
Code: Select all
void app_main()
{
assert(CONFIG_ULP_COPROC_RESERVE_MEM >= 260 && "this test needs ULP_COPROC_RESERVE_MEM option set in menuconfig");
memset(RTC_SLOW_MEM, 0, CONFIG_ULP_COPROC_RESERVE_MEM);
const ulp_insn_t program[] = {
I_MOVI(R0, 0), // R0 is LED state
I_MOVI(R2, 16), // loop R2 from 16 down to 0
M_LABEL(4),
I_SUBI(R2, R2, 1),
M_BXZ(6),
I_ADDI(R0, R0, 1), // R0 = (R0 + 1) % 2
I_ANDI(R0, R0, 0x1),
M_BL(0, 1), // if R0 < 1 goto 0
M_LABEL(1),
I_WR_REG(RTC_GPIO_OUT_REG, 26, 27, 1), // RTC_GPIO12 = 1
M_BX(2), // goto 2
M_LABEL(0), // 0:
I_WR_REG(RTC_GPIO_OUT_REG, 26, 27, 0), // RTC_GPIO12 = 0
M_LABEL(2), // 2:
I_MOVI(R1, 100), // loop R1 from 100 down to 0
M_LABEL(3),
I_SUBI(R1, R1, 1),
M_BXZ(5),
I_DELAY(32000), // delay for a while
M_BX(3),
M_LABEL(5),
M_BX(4),
M_LABEL(6),
I_END(1) // wake up the SoC
};
const gpio_num_t led_gpios[] = {
GPIO_NUM_2,
GPIO_NUM_0,
GPIO_NUM_4
};
for (size_t i = 0; i < sizeof(led_gpios)/sizeof(led_gpios[0]); ++i) {
rtc_gpio_init(led_gpios[i]);
rtc_gpio_set_direction(led_gpios[i], RTC_GPIO_MODE_OUTPUT_ONLY);
rtc_gpio_set_level(led_gpios[i], 0);
}
size_t size = sizeof(program)/sizeof(ulp_insn_t);
ulp_process_macros_and_load(0, program, &size);
ulp_run(0);
esp_deep_sleep_pd_config(ESP_PD_DOMAIN_RTC_PERIPH, ESP_PD_OPTION_OFF);
esp_deep_sleep_enable_ulp_wakeup();
esp_deep_sleep_start();
}
Re: power draw
From what i see, ULP is running at 100% duty cycle here, and RTC_IO and RTC_PERIPH are powered up.
So that explains (25uA - 5uA) * (100% / 1%) = 2 mA.
As for the rest (3mA), don't know for sure. Hopefully I'll be doing some power measurements next week, if the 2.0 release goes smoothly.
So that explains (25uA - 5uA) * (100% / 1%) = 2 mA.
As for the rest (3mA), don't know for sure. Hopefully I'll be doing some power measurements next week, if the 2.0 release goes smoothly.
-
- Posts: 2
- Joined: Fri Dec 16, 2016 2:09 pm
Re: power draw
Hello,
I made the following test and measured 30 uA. I used the ESP32 dev board, so I cutted the CP2102 suppy and remove the voltage regulator as here: https://tinker.yeoman.com.au/2016/05/29 ... revisited/. If not, the current consumption was never below 2.3 mA.
I made the following test and measured 30 uA. I used the ESP32 dev board, so I cutted the CP2102 suppy and remove the voltage regulator as here: https://tinker.yeoman.com.au/2016/05/29 ... revisited/. If not, the current consumption was never below 2.3 mA.
Code: Select all
//file: main.cpp
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "Arduino.h"
#include "esp_deep_sleep.h"
extern "C" void app_main()
{
initArduino();
int i=0;
uint64_t sleep_timeout = 5000000;
while(i!=5)
{
delay(1000);
i++;
}
esp_deep_sleep_enable_timer_wakeup(sleep_timeout);
esp_deep_sleep_start();
}
Who is online
Users browsing this forum: No registered users and 126 guests