Low power ESP8266

Hi,

I'm hoping you guys can help me understand something. I constantly read tutorials about running and ESP826) for years on a battery. A lot of the tutorials even show the NodeMCU in the photo of the project.

Here's what I'm not getting: according to everything I've read and understand, boards like the NodeMCU or the Adafruit Huzzah have USB to serial chips and voltage regulators, which means you'll never get them to be truly low powered no matter what "mode" the ESP is in. Is that correct?

The only way I can understand putting an ESP project into truly low power is to use the minimal ESP chip which is then a bit more of a pain to program.

Just want to make sure I'm not missing something.

If my assessment is correct, my next question is: if I wanted to use one of those previously mentioned boards because they're easier to program, could I use something like an ATTiny85 and a transistor to control the power to the ESP board? Essentially using the ATtiny to control putting the ESP to sleep (off essentially) and waking it up?

Thanks!

My thinking is that taking a few minutes to program a chip is not worth the amount of extra work.

you can to anything you put your mind to and for which you are willing to invest the time and effort.

the D-1 Mini and the NodeMCU are devices with regulators on them and also with a USB interface chip. these are obstacles to looooong battery use.

if you buy a $3 usb interfact chip, or use the UNO as a programming interface, you can program one of the offerings of boards without voltage regulators or USB chips.

plugging in a chip until you get the programming straight, and then trying to have it run for a long time by using s second chip, that you still have to program.... well, it just sounds like you are doing a lot more than double the work to save on a few minutes of programming.

Get your NODE MCU, program it for all the things you want, verify it's operation is what you want, then get an 03 or 07 or whatever chip you want, and program that for the long sleep.

yes, it takes a solid 5 minutes to program the chip. but over time, it is the cleanest way.

You still need a big battery the esp uses lot's of power when it sends data and if the wifi router not close it uses even more.
Like 150 to 250mA so wake up and talk going to use some juice.

Running an esp for years on a battery requires that the esp spends very long periods in deep sleep. For example only waking once per day, for a few seconds. Plus, you will need to use a bare esp module rather than a development board like Wemos, as already mentioned. Also, you will need to use a high capacity battery with a very low self-discharge and a suitable voltage range so that no regulator is needed. LiFe-Po4 batteries seem to be most suitable for this. I have not used them myself.

To give you an example, my weather station contains a Wemos Mini Pro which wakes from deep sleep once every 15 mins for around 5~10s. There is also an ATtiny85 which monitors the wind sensors. The attiny runs in a low power mode and uses around 0.5mA continuously. The circuit is powered by a 18650 size Li-ion battery with a capacity of 2,400mAh (confirmed by testing the capacity myself; many Li-ion batteries claim a much higher capacity than they truly have). This setup lasts around 12 weeks between recharges.

To extent this battery life, I could replace the Wemos with a bare esp module. This would require a change of battery technology because the Li-ion has a voltage of 4.2V when fully charged, which in theory could damage the esp (the Wemos has a low dropout regulator, which will waste some of the battery's charge). I could also increase the deep sleep periods to an hour for example. I could spend more effort getting the attiny's consumption down even further. These changes combined would probably extend the battery life to over a year.

You don't need an attiny to wake an esp module from deep sleep, it can do this itself. The esp-01 module cannot do this because one of the necessary pins is not accessible (I have seen that some people have soldered a tiny wire directly to one of the esp chip's legs but I would not attempt this myself).

Using an attiny to shut off power to a board like Wemos could be done, but you would have the difficulty of programming the attiny and getting it to run on less power than the Wemos would use in deep sleep. This is possible, I'm sure, but more difficult than programming a bare esp module to wake itself from deep sleep.

I have measured my Wemos boards at around 170uA in deep sleep. This is around double the consumption of a bare esp module, I believe.

Adafruit ESP8266 (and other CPU) boards bring out LDO voltage regulator shutdown pins which can power on/off the boards. When the LDO is shutdown/off, the board uses less power than when using CPU deep sleep. A TPL5111 timer chip connected to the LDO pin can turn the board on and off for time periods determined by a resistor.

For boards without LDO pins, the TPL5110 board has a MOSFET. This should work with any board such as NodeMCU. It is not limited to ESP8266.

Whether the TPL511x is better than an ATtiny, I do not know. The TPL511x does not need programming but its behavior cannot be changed.

See the Adafruit site for TPL5110 and TPL5111 boards, if interested.

osmosis311:
to use the minimal ESP chip which is then a bit more of a pain to program.

could I use something like an ATTiny85 and a transistor

to review....
the ATTiny85 requires you to have a separate programming board.
in an effort to NOT use a separate programming board on an ESP....
you are willing to use a separate programming board on an ATTiny85....
sorry, but I have to ask,
how are you eliminating the " bit more of a pain to program. "
on your project ?

This video appears to support the idea of a long battery life ESP8266 configuration.

dave-in-nj:
to review....
the ATTiny85 requires you to have a separate programming board.
in an effort to NOT use a separate programming board on an ESP....
you are willing to use a separate programming board on an ATTiny85....
sorry, but I have to ask,
how are you eliminating the " bit more of a pain to program. "
on your project ?

I have a very easy-to-use programmer for the ATTiny85, just pop the chip in, and plug the device into the computer via USB. I have seen a few ESP-12 programmers on ebay that use pogo pins to make things easier, but I haven't tried one of those yet...

gdsports:
Whether the TPL511x is better than an ATtiny, I do not know. The TPL511x does not need programming but its behavior cannot be changed.

See the Adafruit site for TPL5110 and TPL5111 boards, if interested.

That's actually a really good idea, I'm going to get a few of these and try them out. Thank you very much!

And thank you to everyone else for all the other answers as well!!!