ESP8266 Power Consumption
-
- Posts: 140
- Joined: Mon Oct 27, 2014 10:40 am
ESP8266 Power Consumption
Postby Espressif_Kelly » Mon Jan 12, 2015 9:37 pm
The following is the test data of power consumption of ESP8266.
Currently ESP8266 can support three low power modes: Light Sleep, Modem Sleep and Deep Sleep.
①:Modem-Sleep requires the CPU to be working, as in PWM or I2S applications. According to 802.11 standards (like U-APSD), it saves power to shut down the Wi-Fi Modem circuit while maintaining a Wi-Fi connection with no data transmission.
E.g. in DTIM3, to maintain a sleep 300ms-wake 3ms cycle to receive AP’s Beacon packages, the current is about 15mA.
②:During Light-Sleep, the CPU may be suspended in applications like Wi-Fi switch. Without data transmission, the Wi-Fi Modem circuit can be turned off and CPU suspended to save power according to the 802.11 standard (U-APSD).
E.g. in DTIM3, to maintain a sleep 300ms-wake 3ms cycle to receive AP’s Beacon packages, the current is about 0.9mA.
③:Deep-Sleep does not require Wi-Fi connection to be maintained. For application with long time lags between data transmission, e.g. a temperature sensor that checks the temperature every 100s.
E.g. sleep 300s and waking up to connect to the AP (taking about 0.3~1s), the overall average current is less than 1mA.
There are a few things need to pay attention to.
*You can use wifi_set_sleep_type to set sleep type for power saving and set NONE_SLEEP_T to disable power saving.
*power saving modes can only be enabled in station mode, since ESP8266 do not sleep when working in softap mode.
*Wake up of sleep:
Deep Sleep: ESP8266 need be waked up by xpd_dcdc(Pin8) or by other gpio of external MCU. Thus, xpd_dcdc(Pin8) or external GPIO should be connected to ext_rstb(Pin32).
Light Sleep and Modem sleep:Both are automatically added by underlying, which can sleep and be waked up automatically. There is no need of any processing in hardware.
*About test data:
Light Sleep and Modem Sleep:Both can adjust themselves to support the type of DTIM according to the AP that connected. Thus, the above data of power consumption in DTIM1 and DTIM3 is just calculated.
Deep sleep: There is a parameter(108th byte) for the interval of RF cal in the esp_init_data_default.bin as is shown below. Currently, you can set the interval of RF cal by modifying the value of this parameter. Then,you can get more accurate power consumption data in deep sleep mode.
Given our power saving plans are still in optimization, please do forgive if there are any deficiencies.
Thanks for your interest in ESP8266 !
- Attachments
-
- 20150112210502.jpg (41.19 KiB) Viewed 433907 times
-
- Posts: 4
- Joined: Tue Jan 05, 2016 10:15 am
Re: ESP8266 Power Consumption
Postby chengzhongkai » Thu Jan 07, 2016 3:54 pm

Re: ESP8266 Power Consumption
Postby kkoutso » Thu Feb 04, 2016 11:26 pm
Code: Select all
void ICACHE_FLASH_ATTR
at_setupCmdLslp(uint8_t id, char *pPara)
{
uint32_t n;
pPara++;
n = atoi(pPara);
at_backOk;
gpio_pin_wakeup_enable(GPIO_ID_PIN(4), 5/*GPIO_PIN_INTR_HILEVEL*/);
wifi_station_disconnect();
wifi_set_opmode(STATION_MODE); //set WiFi mode to null mode.
wifi_fpm_set_sleep_type(LIGHT_SLEEP_T); // light sleep
wifi_fpm_open(); //enable force sleep function
wifi_fpm_set_wakeup_cb(fpm_wakup_cb_func1); //Set fpm wakeup callback
//wifi_fpm_do_sleep(0xFFFFFFFF);
wifi_fpm_do_sleep(n*1000);
}
I have two questions:
I see that power consumption does not go below 16mA, isn't it supposed to be 0.5mA?
GPIO wake-up seems not to affect in case of 0XFFFFFFFF value.
I would appreciate any hint.
Thanks a lot,
Kostas
-
- Posts: 6
- Joined: Tue Apr 05, 2016 10:48 pm
Re: ESP8266 Power Consumption
Postby ShaneKirkbride » Tue Apr 05, 2016 11:06 pm
~Shane
-
- Posts: 140
- Joined: Mon Oct 27, 2014 10:40 am
Re: ESP8266 Power Consumption
Postby Espressif_Kelly » Wed Apr 06, 2016 5:45 pm
You can refer to "9B-ESP8266__Sleep__Function_Description__EN_v1.0.pdf" which can be obtained in the following link.
http://bbs.espressif.com/viewtopic.php?f=51&t=1977
More questions, please feel free to let us know.
Thanks.
Re: ESP8266 Power Consumption
Postby wawaii » Tue Aug 23, 2016 5:19 pm
Deep Sleep我不能用,因为要随时被外部按钮唤醒。
下面是我的代码,在user_init内只调用该函数。
void ICACHE_FLASH_ATTR
save_power() {
gpio_pin_wakeup_enable(KEY_SWITCH_NUM, GPIO_PIN_INTR_LOLEVEL);
wifi_station_disconnect();
wifi_set_opmode(NULL_MODE); // set WiFi mode to null mode
wifi_fpm_set_sleep_type(LIGHT_SLEEP_T); // set modem sleep
wifi_fpm_open(); // enable force sleep
wifi_fpm_set_wakeup_cb(wakeup_cb);
wifi_fpm_do_sleep(FPM_SLEEP_MAX_TIME);
}
请问如何能进一步降低功耗,有什么建议吗?
非常感谢!
Re: ESP8266 Power Consumption
Postby kkoutso » Wed Oct 26, 2016 5:07 pm
regarding my old post, the following correction is required to allow the module enter light sleep:
wifi_set_opmode_current(NULL_MODE);
However, I was wondering if there is any way to disable reception circuit so as to achieve less than ~70mA power consumption when idle.
Thanks in advance for any support.
Kostas
Who is online
Users browsing this forum: No registered users and 2 guests
Login
Newbies Start Here
Are you new to ESP8266?
Unsure what to do?
Dunno where to start?
Start right here!
Latest SDK
Documentation
Complete listing of the official ESP8266 related documentation release by ESPRESSIF!
Must read here!
- All times are UTC+08:00
- Top
- Delete all board cookies
About Us
Espressif Systems is a fabless semiconductor company providing cutting-edge low power WiFi SoCs and wireless solutions for wireless communications and Internet of Things applications. We are the manufacturer of ESP8266EX.