A while ago I have evaluated the powering options for my smart home sensor nodes. One thing was really clear: I would try to avoid small batteries and using anything else besides the common AA(A) sizes. This makes nodes last a long time on a battery that is easy and cheap to find.
And I was right about this – the plethora of commercial remotes and sensors that I also used (like the ikea ones) has convinced me that there is no point to using small batteries that need to be replaced often when the nodes have no reason to be as small as possible.
Step up converter – dismissed
I also looked into using a single AA(A) cell with a step up converter to produce a steady 3V supply on the node. I dismissed the solution because i thought the efficiency is bad, and the prototype I build behaved quite badly. I concluded: NO!
Testing 1, 2, 3!
Recently I realized that actually using a step up DC/DC converter solves one problem I kind of neglected because it was not so important: having a fixed regulated supply is sometimes beneficial when some components are very picky. And I can make modules based on a single AA smaller. So i decided to give it another go and test it properly. I built 2 step up converters, one based on the TLV61225 and one based on MCP1640C.
They both power a sensor node, with one change: the node is meant to simulate a 10X load and discharge the battery 10 times faster. I wanted to know the answer in months not years. To do that, the sensor node reads the battery voltage and transmits a packet over the radio every 5 seconds, to simulate 10X more time spent in the high current consumption (~30mA level). To simulate 10X the typical 20µA sleep current of a node with multiple sensors I added a 10k resistor, which consumes 330µA. Dude, you suck at math you say.
No! This is to account for the fact that at 20µA load the TLV61225 is 50% efficient, but at 300µA it is 80% efficient. The MCP1640 is about 40% efficient at 20µA and 75% at 300µA. So simulating 10X load with 330µA instead of 200µA is a way to take into account the difference in efficiency of the DC/DC converter at these loads.
Here is another picture with the 2 DC/DC converters. On the small PCB I built the MCP1640 step up converter.
Here is the battery voltage for the TLV61225, which managed to power the node for 60 days. That would mean 600 days in practice, so 1.6 years. With a simpler sensor node, this can be extended to even more.
The MCP1640 powered nodes lasted 57 days, so it is expected the real node would last 1.5 years.
And finally, MPC1640 powered by an Eneloop AA rechargeable lasted 43 days, so about 1.2 years in normal operation
As you may conclude, this experiment took quite a few months to complete.
Conclusions – Was I wrong? A bit.
In my original assessment, I calculated that such a node would last 1.1 years – which i thought was not sufficient. I missed a more correct evaluation because:
- I build a poor quality converter and used the radio at max power, which was crashing with a lot of remaining capacity in the battery making me thing the initial 1.1 years is very overestimated. So I dismissed it, but later when I reduced the radio power of my sensor nodes, I did not reconsider this approach.
- The batteries I was considering had a lower capacity than the best of what was available, so i was only looking at 2/3 of the battery life. With modern batteries this can be extended more.
- I ignored that I can use 2xAA(A) cells and get double the battery life.
- I ignored that this consumption was for the worst kind of node: with both motion sensor with high idle current consumption and multiple other sensors that lead to more frequent radio updates. Typically sensor modules use only one of them.
So, I am quite convinced that for a lot of nodes I will use a DC/DC step up converter with a single AA cell in the future. This will allow me to make smaller nodes and have a fixed 3.3V supply which is important for some sensors. Oh, wait. Here comes failure number
5. Right now in February 2022 (and for the past 6 months), there is no trace of such converters or similar anywhere because of component shortages. Guess I will have to wait.