Several years ago I built a low power end device using the @ch2i arduino pro mini based design. I snapped in a LiFeP04 cell as it shipped from China, never charged.
It has reported BMP280 values every 15 minutes totalling almost 102,000 transmits before the single cell dropped below 3.0v today. I really wanted to keep this stacking up the frame counter but with a change to V3 stack in the near future I thought a new cell would be no harm!
Quite an impressive low power result and I would suggest with the smallest of solar harvesting circuits would have been a deploy for life device?
Did you estimate the consumed energy for these more than 100k transmissions? It would be interesting what the capacity of the battery is, which txpower, SF and data-lenght you use.
@wolfp I did some power measurements back when I built the end node and quiescent current during sleep was so small I couldn’t reliably measure with any instruments I own (I am not kitted out with specialist uCurrent type low burden voltage instruments!).
I can tell you that the device sleeps for 15 minutes, polls the BMP280 (I think this may have a sleep mode but would have to look at the library, I don’t know for sure), math-adjusts floats, bit-shifts the result and sends this as a packet. It is always 19bytes of data with the same TX time which is short on SF7.
I have attached some metadata from the application end and traffic data from the gateway belwo:
I agree, it is not easy to measure pulsing and fast changing currents with peaks in the uA-region. Therefore I think of measuring the discharge of a known capacity. The used energy could be calculated by the voltage- decrease after a known number of transmissions.
If you made 100k transmission and know the capacity of the battery, you can make a first estimation.
Actually when the battery was delivered in the post I started the device, never capacity tested the cell at all. It ran for about 4 months before I reset the frame counter and then it ran for approximately three years non-stop. Originally I expected to see the voltage drop quite quickly as I had not cycled or charged the cell. The experiment lasting 3+ years in my kitchen was not planned at all.
I have to praise @Charles, it is a clone of his low power design using his PCB interface and used his instructions to delete the LDO and any LED’s from the Arduino. Small things make a difference in something this frugal with power!
The starting voltage in the LiFeP04 18650 sized cell was 3.3v. Only yesterday I noticed it had reached 2.9v so I would suggest that this was no more than 45-60% of the cell’s full capacity in fact and that the actual number of transmits was probably 110,000 at least.
@descartes I would suggest a power micro-harvesting system of some sort with a small super cap would be a deploy for life setup also. This device cycles 96 times per day and wakes spike power/current use but a small solar/super-cap device reporting a digital trigger/wake-interrupt per day or per week/month would be a no-brainer I would guess?
It looks like your node consumes abt. 0.1J per transmission-intervall. imho this is a good but not an unusual value.
The energy contained in your battery is abt. 10 kJ. More than 100k transmissions should be possible.
I do have a UCurrent Gold, but hardly ever use it, its much easier to use a conventional multimeter for sleep current measurements. You can measure low currents for microcontroller projects very easily, all you need is a bit of wire, see here;