To reduce the power consumption of my IoT button it must go into sleep mode after sending its message. I measured a current consumption of about 100 μA in sleep mode w/o any hardware changes. To get further reduction of current consumption you can remove the LED at pin D0 (GPIO16), for example.
When powering the IoT node by batteries the bilanz of current consumption is interesting.
The mean value of the current consumed from the device depends from the ratio of duration of operation (OP) and sleep (SLEEP).
The number of pressing the button is dependdepends on the application. For ordering good it will be less then once per day, for example.
To get real figures I calculated the following scenarios: two calls/day, one call/day and one call/week. During operation the device will consume about 150 mA when Wifi is active and 100 uA during sleep. The time for one call was about 12 sec. I use a battery with 2000 mAh capacity to power the device.
Under these conditions I get the following results:
|2 calls/day||I = 142 uA||t = 9884 h|
|1 call/day||I = 121 uA||t = 11588 h|
|1 call/week||I = 103 uA||t = 13596 h|
In summary, under these conditions the battery should power the device over one year.
To test this I power the IoT button from three 1.5 V LR6/AA, ENR MAX E91 BP 8, Energizer in series to get 4.5 V nominal.
I measure the voltage after the Wifi connection is established (~150 mA load) and send a message to IFTTT which contains the voltage value.
IFTTT sends a Twitter direct message with this content and makes a table entry into Google Docs. Here is an Twitter screenshot for example which will be replaced after starting the test. Furthermore, you can access the table in Google docs by this link.