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 !
Statistics: Posted by Espressif_Kelly — Mon Jan 12, 2015 9:37 pm
]]>