ESP8266 Power Consumption

Espressif_Kelly
Posts: 136
Joined: Mon Oct 27, 2014 10:40 am

ESP8266 Power Consumption

Postby Espressif_Kelly » Mon Jan 12, 2015 9:37 pm

Hi everyone,

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

20150112172151.jpg
20150112172151.jpg (67.4 KiB) Viewed 48325 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
20150112195713.jpg (69.94 KiB) Viewed 48445 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
20150112195713.jpg (69.94 KiB) Viewed 48445 times


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
20150112210502.jpg (41.19 KiB) Viewed 48445 times

chengzhongkai
Posts: 4
Joined: Tue Jan 05, 2016 10:15 am

Re: ESP8266 Power Consumption

Postby chengzhongkai » Thu Jan 07, 2016 3:54 pm

实装802.11ai吧,大家都盼着这天呢!!! :D

kkoutso
Posts: 1
Joined: Thu Feb 04, 2016 11:21 pm

Re: ESP8266 Power Consumption

Postby kkoutso » Thu Feb 04, 2016 11:26 pm

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

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

ShaneKirkbride
Posts: 6
Joined: Tue Apr 05, 2016 10:48 pm

Re: ESP8266 Power Consumption

Postby ShaneKirkbride » Tue Apr 05, 2016 11:06 pm

Are there any updates on this? Is this the correct way to set the power mode?
~Shane

Espressif_Kelly
Posts: 136
Joined: Mon Oct 27, 2014 10:40 am

Re: ESP8266 Power Consumption

Postby Espressif_Kelly » Wed Apr 06, 2016 5:45 pm

Hi ShaneKirkbride,

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.

Who is online

Users browsing this forum: No registered users and 2 guests