Experiments with ESPEasy (ESP8266) and low power - v3.0

We continue our search for the low consumption of our ESP8266 for use with battery and in this experiment we are going to try to dissect the consumption of the CO2 meter we are experimenting with.

How much does the ESP8266 consume and how much does the CO2 sensor consume?

Let's take a look at our latest experiment in which we got our CO2 meter working with one 18650 battery for 12 daysreporting values via MQTT every minutefrom a new point of view.

This time, the mission is to find out how much the ESP8266 (an ESP-12F module) consumes and how much the ultra-low-power CO2 sensor we are using (a Senseair Sunrise S11) consumes.

What we are going to do is to measure the average consumption of the complete CO2 meter for one minute and then measure sensor consumption only independently (although operating on the CO2 meter, as normal).

You will remember, from the previous article, the following graph of current consumption:

Now let's look at it differently:

As you can see, I have captured the measurement for 59.44 seconds (a complete cycle of waking, sleeping and measuring) and the average consumption was 7.61mA..

If you look closely, you will see that there is a peak, as soon as the ESP8266 wakes up, of very high power consumption (294mA) followed immediately by a relatively stable area. This high power consumption corresponds to the start-up of the ESP8266, which we know has a very high power consumption at start-up.

The ESP8266 wakes up, connects to the wifi network, connects to the MQTT broker and sends data over MQTT. This corresponds to the first 10 seconds or so when you see a lot of activity in the consumption.

Then the ESP8266 goes into deep sleep state and we see how, from then on, approximately every 16 seconds, we have some small "jerks" of consumption, such as a comb. This corresponds to the consumption of the Senseair Sunrise sensor (remember that we have it in continuous measurement mode and it measures every few seconds independently of the ESP8266, whether the ESP8266 is awake or asleep).

By the way, those 16 seconds are not a random value, they coincide with the configuration we have set in ESP Easy to read the Senseair Sunrise. As we can see, everything matches and the maths add up.

If you look carefully, you will also see that after that first consumption peak of almost 300mA, there are about five seconds of consumption with some small peaks and then another "big comb", superimposed on those smaller peaks.

Indeed, this large comb corresponds to the Senseair Sunrise measurement made by the ESP8266 when it is awake, superimposed on the ESP8266's own consumption.

The following graph makes this clear.

I have powered the meter from its 18650 li-ion battery, but I have interrupted the power supply line to the sensor so that I can insert the measuring instrument there.. That way I get the consumption of the insulated Senseair Sunrise (but while it is still running on the meter).

If you look at this graph and the previous one you can see perfectly well how it coincides.

Small intermediate consumptions can be observed that were not shown in the previous graph. The truth is that I don't know why, maybe because they are too fast and it is a measurement with a dynamic range that is too large. I will do some analysis and additional tests to see if I can find out.

What is important is that we can see that the sensor consumes an average of less than 150μA during those 59.48 seconds.. A very low consumption compared to the 7.61mA consumed by the set.

I have kept the graphic in the same scale than the previous one on purpose so that you can compare it better, although that detracts from its detail and accuracy, so below I show you one of those in detail. combs so that you can see what they consist of, and that, although they seem somewhat importantIn fact, their consumption is minimal, due to their short life span.


It seems clear from the tests and measurements that it is clear where we need to focus our efforts.

We cannot avoid (as far as I know, although I will investigate further) that consumption peak of almost 300mA when returning from deep sleep, but on the other hand it is very short, so the amount of energy consumed is very small.

Efforts, in my view, should focus on further reducing the time the ESP8266 is awake. Secondly, and a far cry from the first, optimise the sensor's active times, so that it is only active when the ESP8266 requests a measurement.

To be continued...


Leave a comment