- Sun Nov 17, 2019 5:51 pm
An ESP8266 that's not actively transmitting (but is receiving) actually normally consumes about 70mA, not the 160mA you mention.
In addition to that, there are two modes that can be used that will turn off the wifi completely between DTIM beacons, to further reduce power consumption.
Auto Modem Sleep mode keeps the CPU running but shuts down and wakes the wifi in time with the DTIM beacons, and consumes about 18mA once it's idle.
Auto Light Sleep mode shuts down the CPU as well as the wifi, waking them in time for the DTIM. This consumes about 2mA once idle. The down side here is that you can't do any processing or other work and things like timers in your code will be affected.
The above also have a Forced mode - forced Modem Sleep turns off the modem and keeps the CPU running and consumes about 16mA, while Forced Light Sleep is almost like Deep Sleep in that you have to wake the unit externally however, unlike Deep Sleep, program state is retained. That consumes about 1mA
Finally you have Deep Sleep, which shuts of everything except the RTC clock and memory, and requires external or timed wake up - that consumes about 20uA but waking up is the same as restarting the unit (except for the RTC memory)
So if you are operating a completely passive wifi switch, Auto Light Sleep would be the lowest power solution while still listening for commands in almost real time.