Another low-power option

I’ve been using the DS3231 RTC module as one means of reducing the consumption of battery-powered ESP8266 sensors.  The idea being to set up an alarm on the DS3231 which will take the (DS3231) interrupt pin low when triggered.  That pin is connected to the gate of a P-channel MOSFET, which functions as a power switch for the battery supply to the ESP8266.  Once powered, the ESP takes a sensor reading, connects to the network and sends the reading and then programs a new alarm into the DS3231, clearing the interrupt and thus turning its own power off.  This actually works very well.  The DS3231 module runs on its own button-cell battery and the ESP on three AA alkaline batteries (fed via a low quiescent current, LDO 3v3 regulator).  The standard set up will run for many months and this can be extended by using the RTC memory as a data store and only initializing the ESP wireless to send on every 10th (or whatever) reading of the sensor.

LowPowerLab's TPL5110 ModuleI recently came across a very similar implementation on the LowPowerLab’s forum, where user “TomWS” published a circuit using the TI TPL5110 “Nano-power system timer” to drive the MOSFET (instead of the DS3231 in my implementation).  The advantages are simplification (the TPL5110 only needs a resistor to set the delay between power-ons, no programming) and a pin saving (the TPL5110 only requires a single GPIO “done” signal from the ESP, as opposed to the two pins required for the i2c bus connection to the DS3231).LowPowerLab's TPL5110 Schematic  The TPL5110’s timing range is a little more restricted than the DS3231, with effective delays between fractions of a second and 2-hours.  Having said that though, that range probably covers the usage requirements of most hobby applications.

The TPL5110 module (which includes the P-channel MOSFET) is available from LowPowerLab’s web site for about $5.  The TPL5110 chip itself is available from Mouser/Digikey, etc for slightly more than a dollar.


3 thoughts on “Another low-power option

  1. Hi. Im interested in your RTC project. I have a similar setup as yours but was using an arduino mini instead of an ESP8266 but my problem is not with the MCUs but the RTC module itself. Do you have a schematic on how you connected the DS3231 RTC to the mosfet and the ESP8266. Im curious on how you dealt with the current drain of the RTC module. I assume that you are using the one similar to this because you mentioned that it had memory!?
    But with the Vcc of the RTC module connected just to the battery, I noticed that it was pulling in a whopping 6ma of current. I got it down to about 2 ma by removing the power led on the module as well as cutting the coin battery recharge circuit in the module! How much current does your circuit consume in standby mode?


    • Ted,

      To be quite honest, I didn’t even bother measuring the current being drawn from the RTC battery, as it’s only supplying the DS3231 and I’d already followed Ed Mallon’s instructions on taking off the charge circuitry and pull-ups. I certainly didn’t have any problem with the battery on the RTC running down.

      The MOSFET circuit is basically the same as the one here (from the DoorBell project), but without the 2N7000 (the RTC drives the INTR pin low on a trigger event).

      Right at the moment I can’t find that specific board and I’m not going to have a chance to search for it for the next three weeks at least, so sorry, I can’t give you an instant answer on what current it draws. There are several sites on the web (in addition to Ed Mallon’s) which reference the problems with that version of the board though. If you do a search for “DS3231 battery charging” you’ll find plenty of info, including some suggestions on replacing the battery with a supercap.

      Please do remind me in three weeks time if you still want me to check my board.



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s