esp8266 low power mode

ESP8266 ESP-01 Low Power Mode – run it for months

Amazing ESP8266 ESP-01 WiFi boards have pretty irritating problem: theirs power consumption is pretty high. Minimal power consumption of about 70mA when doing nothing and above 100mA when when transferring data makes it rather impossible to use it on battery power for a longer period of time. Set of 2 AA batteries would be drained in less than a day. Not good.

There is a way to make ESP-01 work for months using something called deep sleep mode. When in deep sleep, ESP8266 disables almost all of its functions and reboots after specified period of time. There is one catch: ESP-01 is capable to enter deep sleep, but unable to restart and resume operation. XPD_DCDC MCU pin in not connected to RESET pin. To fix it, you would have to solder thin wire between XPD_DCDC and RESET pin just like on a picture below:

ESP8266 ESP-01 Deep Sleep hack

It’s doable with a decent soldering iron and some training. The fact, that XPD_DCDC is the last pin on the bottom edge of MCU (antenna facing left) makes it much simpler.

I also suggest to remove red status LED. It drains around 8mA all the time. Without this LED, board would draw only about 80uA when in deep sleep. Just rip it out with a knife or desolder it you like to do things right.

After this is done, deep sleep can be entered (when using Arduino) using:

ESP.deepSleep([sleep_time_in_seconds] * 1000000);

After defined period of time, ESP8266 will reboot itself and do setup phase.

Right now, I have 2 ESP8266 ESP-01 with DS18B20 reporting temperature every 15 minutes running on 2 AA batteries for 5 weeks. And expect them to work for at least 6 months before batteries will be depleted.

Update after 6 months

Looks like I was right. Both my ESP8266 with DS18B20 reporting temperature every 15 minutes were running 2 AA batteries for almost 6 months. So let’s be safe and call it 5 month of operation time. For me, quite impressive results the way I see it!

You can get ESP8266 ESP-01 modules from Banggood and Aliexpress

21 thoughts to “ESP8266 ESP-01 Low Power Mode – run it for months”

  1. Hi, esp-01 should be power up by 3.3V. By using 2AA batteries, the voltage is only 3V. May i know how your circuit configurations are done?

    1. I saw your work through the link. I read other people’s comment saying it is not possible to us 2AA as the voltage is not enough. I will try by myself according to your schematics. Thanks!

  2. Is it possible to flash ESP-01 when XPD_DCDC MCU pin is connected to RESET pin? ESP-12 nodemcu need to at least have a resistor in between when flashing or the jumper need to be remove when flashing.

  3. My esp01 gpio16 pad just fell off agai. It’s so fragile. My soldering skills sucks! Anywhr else which I can connect back to enable deepsleep? Already spoilt 2units!

  4. I tried to use 2AAA battery and wirings are the same as shown. Battery died in half a day.
    2AA battery can last longer? I thought just the size different but specs are the same.

  5. I don’t understand. I have a 2ma consumption without led and during deepsleep. (just an esp8266 without anything else)
    An idea ?

  6. Thanks for this info. I used Li-Ion 3.7V battery pack without any problems. 2Ah. Easy to charge easy to use. Small pack and versatile. Much easier than 2xAA or AA battery (they usualy have around 600mAh)

  7. sorry for my ignorance, but I didn’t understand how the thin wire connected between Deep-Sleep Wakeup and XPD_DCDC works. thanks for the clarification

  8. Is is necessary to remove the status LED when that pin (D2) is configured as input? I guess the LED is only using current when on. Or am I wrong here?

    Or maybe my board is different, I have only one LED, connected to D2.

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.