what would be the best way to run a D1 board on batteries? I understand there is a deep sleep option for the ESP8266, but what about the other components on the D1 board? Is there an estimate what current draw the voltage regulator, USB-to-serial chip, etc. have? My plan is to send temperature readings every few minutes and have the board sit outside powered by batteries. Also, are there any significant sleep power draw differences between the mini/pro/lite?
You might want to read this thread: https://forum.wemos.cc/topic/252/new-version-v2-2-0-of-the-d1-mini
@anduit: Much of this information was lost on the the old forum.
However, here's a summary:
- The D1 mini (with RT9013 regulator) drew about 150-170 uA in deep sleep.
- The D1 mini pro, which uses a more efficient USB to serial chip draws more like 110-120 uA in deep sleep.
- You could perhaps get even lower by cutting traces on the USB to Serial chip, since it's always powered. But it'll be difficult to get below 100uA without a more efficient regulator.
- Current draw while awake is around 70-75 mA on average with wifi on, and closer to 15-20 mA with wifi off.
So if you know how long it will be on for, and how often it will turn on, you can calculate current draw in mAh.
I'm actually using a P-MOSFET (NDP6020P) and a RTC alarm (DS3231) to avoid deep sleep entirely. The DS3231 alarm, which is powered by a CR2032 battery, turns on the MOSFET, which turns everything else on. When you're done, you reset the alarm, and everything turns off completely, leaving only a few uA.
@mickles Thank you for your help!
Driving the D1 with a MOSFET is a really good idea. So do I understand correctly: you connect the MOSFET gate to the RTC's SQW pin to wake the D1 and when everything is done you reset the alarm via I2C? Is it good practice to shut down WIFI before cutting power off via the transistor?
@anduit Yea that's the basic idea. If you cut power to the DS3231 itself and run the alarm off battery, you may need to remove the pullup resistor. Otherwise, it'll act as a pulldown resistor instead, and the MOSFET won't fully turn off. And then you'll need your own pullup resistor on the mosfet gate, ideally something highish value so you don't waste much current on it.
On the common modules, this is the 4x4.7k block across from SDA and VCC that also pulls up SCL and SDA:
I haven't turned off wifi before cutting power, or done much of anything in preparation. I do usually set a timer for 10 ms or so to turn it off just so anything still running can finish. I'm curious whether shutting down wifi makes any difference, that'd be interesting to know.