Page 1 of 1

ESP8266 Power Consumption

Posted: Mon Jan 12, 2015 9:37 pm
by Espressif_Kelly
Hi everyone,

The following is the test data of power consumption of ESP8266.

20150112172151.jpg (67.4 KiB) Viewed 102388 times

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.

20150112195713.jpg (69.94 KiB) Viewed 102508 times

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.

20150112195713.jpg (69.94 KiB) Viewed 102508 times

Given our power saving plans are still in optimization, please do forgive if there are any deficiencies.

Thanks for your interest in ESP8266 !

Re: ESP8266 Power Consumption

Posted: Thu Jan 07, 2016 3:54 pm
by chengzhongkai
实装802.11ai吧,大家都盼着这天呢!!! :D

Re: ESP8266 Power Consumption

Posted: Thu Feb 04, 2016 11:26 pm
by kkoutso
I using ESP8266 in SoftAP mode and I am trying to put it in light sleep. I change first to station mode and the follow the commands in the API:

Code: Select all

at_setupCmdLslp(uint8_t id, char *pPara)
        uint32_t n;

        n = atoi(pPara);
        gpio_pin_wakeup_enable(GPIO_ID_PIN(4), 5/*GPIO_PIN_INTR_HILEVEL*/);
        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

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,


Re: ESP8266 Power Consumption

Posted: Tue Apr 05, 2016 11:06 pm
by ShaneKirkbride
Are there any updates on this? Is this the correct way to set the power mode?

Re: ESP8266 Power Consumption

Posted: Wed Apr 06, 2016 5:45 pm
by Espressif_Kelly
Hi ShaneKirkbride,

You can refer to "9B-ESP8266__Sleep__Function_Description__EN_v1.0.pdf" which can be obtained in the following link.

More questions, please feel free to let us know.


Re: ESP8266 Power Consumption

Posted: Tue Aug 23, 2016 5:19 pm
by wawaii
我测试了下light sleep,电流在3mA左右,有时候甚至到5mA。
Deep Sleep我不能用,因为要随时被外部按钮唤醒。

save_power() {
gpio_pin_wakeup_enable(KEY_SWITCH_NUM, GPIO_PIN_INTR_LOLEVEL);
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


Re: ESP8266 Power Consumption

Posted: Thu Sep 22, 2016 11:28 pm
by senzeny
Power consumption mentioned above is for typical power consumption. Is there any information about the maximum power consumption?

Re: ESP8266 Power Consumption

Posted: Wed Oct 26, 2016 5:07 pm
by kkoutso

regarding my old post, the following correction is required to allow the module enter light sleep:

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.