# Battery: pro mini @ 1mhz vs booster

• Hi,

I am trying to find measurements on what uses less power: an arduino pro mini 3v at 1mhz with disabled bod vs an arduino getting powered by a step up booster.

Has anybody done any measurements which setup uses less power?

I see it sometimes pop up that every instruction will take 8 times longer at 1mhz which could negate the power saving in sleep mode, but I have not seen any actual data about which is better.

So if you anybody has done the comparison please let me know!

Thanks!

• Hello @kiesel, 1MHz will take in theory 8 times more time to process, but it doesn't mean the wake-up time for your node will be 8 times longer because of :

• the duration it takes to sensor(s) to return values
• wait time with radio ON (most power hungry situation) while you get ACK after sending message (unless you use a passive node, never receiving anything)

Also the power consumption is lower at a lower voltage, and lower at a lower frequency. If you boost at 3.3V it will need 3mA at 8MHz, while it's around (and even below) 1mA at 1MHz at 2.7V.

So it will mostly depend on your duty cycle between sleep and wake-up time, but booster will consume waaaaaaaay more power in sleep mode and usually (except if you wake up really often) it means shorter battery life. Calculate an average processing time for you node when waking up and reporting data, it's power consumption when up, and use a calculator like this one to estimate the battery life
https://oregonembedded.com/batterycalc.htm

• @kiesel I don't have a complete overview, but I can share some of my knowledge /findings.

When building nrf24 mySensors nodes, BOD can be set at 1.8v as the radio won't go below anyway.
If powered directly from alkaline batteries (eg 2x AA) the voltage of the battery will stay above 1.8 volts until batteries are nearly empty. A step up booster thus will only help in draining the last joules in the batteries. However, the inefficiency of the booster will also drain your battery during its complete lifetime.
It's possible to run a MySensors node at 2xAA batteries with no booster for many years (@8 MHz) , so why bother?

• @Nca78

Thanks, I'll try to figure out how much juice my sensors draw in sleep and will give the page a go

• @Yveaux

I am using the easypcbs from here and that's also where I got the idea to run without a booster. There it's says that at 8mhz it can be unstable. Is that not correct?

I am also using Rechargeables, so I'll have to check what their lowest non empty voltage is.

Thanks

• @kiesel unless your sensor draws a lot of power, the self-discharge of your rechargables will be much higher than the power usage so using a booster or not will not matter.

• There it's says that at 8mhz it can be unstable. Is that not correct?

Do you have a reference to this statement?
In not aware of any instability at 8mhz.

• @Yveaux

It's the last paragraph in the "battery without a booster section". "Unstable" is what I got from "risky", so it might have been a bad interpretation on my part.

• @mfalkvidd

Thanks, that's actually good news as it spares me the work of figuring out what to do

One question if you don't mind: I am using the usual battery percentage calculation with the Rechargeables. When full they show 76%, that's OK by me. My question is: will it linearly decrease the emptier the Rechargeables become or should I use a different calculation?

• @kiesel my guess is that linear is a good enough approximation. But if you want to get into details, there are probably whitepapers discussing the particular battery chemistry used by the batteries you have chosen. Or just try to find battery discharge curves for that type of battery.

• In addition to the above, as @Yveaux pointed out the processor can be run almost to battery death, so only the voltage requirements for the sensors may limit your options to running at 8MHz.
My Nodes were bought as a specific variant with onboard booster, so it is technically possible to build a highly efficient booster, but it's unlikely to come from China's mass market.

But this then touches on the point made by @mfalkvidd, rechargeables have very different characteristics to alkalines (Google for info on battery comparisons performed by others). I went through this extensively before starting up, and no regrets on alkalines.

As @Nca78 referred it also depends on load and duration.
My faster processor executes the radio update on a gas reed trigger then goes back to sleep within ms with no external load, 2 years later the Node batteries read 2v.
The tank monitor fires a 3v ultrasonic routine at 8mA every hour and maintains an RTC, but aside hourly routines is in deep sleep the vast majority of the time. 6 months in and Node batteries are at 2.89v, so over a year is guaranteed... However, without it's onboard booster it is likely the ultrasonic would have stopped working.

A further option to where a sensor needs a higher voltage is to switch on a secondary supply specifically for that sensor. I didn't have much joy with that using a booster due to noise, but it worked fine with a battery pack and VR.
Hope this helps...

• @kiesel I think that article is referring to the maximum clock frequency at low supply voltage.
I looked it up in the ATMega328P datasheet at microchip's site (http://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061A.pdf).

So you will be using the ATMega out of spec when running at 8MHz around the BOD Level of 1.8V

I estimate the minimum supply level must be around 2.4V for 8MHz, which makes me realize I'm running most of my sensors outside spec

• My question is: will it linearly decrease the emptier the Rechargeables become or should I use a different calculation?

No, it won't. The voltage decrease in a battery discarge curve is far from linear. You are measuring voltage, so percentage calculation is also not linear.
You need a coulomb counter to accurately know how much juice is left in the battery.

• @Yveaux

Ah, that's good to know. We'll, as long as I get a warning some time before the node dies.

From what I have seen the percentage decreases so it at least doesn't just suddenly drop to 0, that's OK for my use case.

Thank you everybody for your help!

• We've seen reports of continuous reboots, and the radio getting stick in "always on", blocking all other traffic, when nodes run outside of specs. So it is probably a good idea to stay above the ~2.4V limit when running at 8MHz. I such a limit myself in my plant monitoring node sketch.

I realized we didn't have any info on battery self-discharge on the battery page, so I added a new section. Feedback is welcome.

• A pair of lithium AA primaries is hard to beat because:

1. Unlike alkaline's, they don't leak.
2. Have a look at the discharge curve: https://data.energizer.com/pdfs/l91.pdf By the time they drop to 2.4v, if not before, you'll want to replace them.
3. Obviously much longer life, both shelf life (20 years!) and energy capacity.

I think running 8Mhz from the internal RC is a no-brainer: wake up time is less than 4us. So, if your node wakes up often, you'll save a ton of energy over time.

The best time to take your battery measurement is immediately after a Tx. That will give you the most conservative reading. Save that measurement in a variable and then send it in your next transmission. Switch on your ADC just before Tx and take your first ADC measurement during Tx, because you have to throw out the first measurement anyway. That way you can take a fresh (and valid) ADC measurement just after Tx before the voltage rebounds.

Hope that helps!

• @mfalkvidd May I suggest a new pinned post in Hardware and a link to your new section may make make life easier for those starting, effectively expanding this thread to collate opinions and experiences?
A table with type, shelf life, self-discharge rate, voltage, etc. may be later drawn together with experience from others here with LiFePo etc. and pros/cons found, and with ever changing technology, expandable ?

• This post is deleted!

• @zboblamont my experience is that people quickly learn to ignore the pinned posts. We've had a pinned post in the Troubleshooting section for years, and most people don't read it before posting in that category. This might just be me being grumpy though.

• Interesting all this - noticed you mentioned EasyPCB and something written in there, let me know if this can be clearer! Also worth mentioning here is that the booster will affect the radio with noice - my choise would be easy today, run it without booster if I can unless you can prove its way more efficient (longer life) with the booster. Downside with this is that you have to learn how to reprogram fuses and bootloader - but its worth the hassle.

I just recieved a new batch of boosters and its 50/50 if they are good enough to not interfere with the radio. (Yes, its the cheap chinese mini boosters).

• @NeverDie

Thanks for letting me know about voltage rebound. I'll reprogram my nodes to take a measurement after tx as you said!

• @sundberg84

In the "battery without a booster "-section, what do you mean by risky? I took it to mean that the arduino potentially could reboot or fail. Apologies if that's now what you meant.

I think I need to stick with a booster anyway, I am using a light sensor in most of my nodes and it needs 3v.

But I'll reprogram the bootloader of one of my arduino. Just out of curiosity

Do you disable just the bod or do you also switch the frequency to 8mhz?

• @kiesel Yes, voltage drops steadily during transmission. I used to do continuous ADC measurements throughout the transmission and then take the lowest one. The lowest one was always the last one, so I think taking one measurement (the second one) immediately afterward should be good enough.

• @kiesel "I think I need to stick with a booster anyway, I am using a light sensor in most of my nodes and it needs 3v." - Don't make the mistake restricting the solution for different voltage requirements to boosting only, they do create noise which can cause problems.
eg - If you can switch the higher power only when needed (to reduce energy) and use a level converter to talk to the processor, you can use a separate battery source, or increase the principal supply to 3xAA tapping off 2AA for the processor, etc., if space permits...

• @zboblamont

How do I know whether a booster introduces noise? I think so far I have been lucky with my three nodes because they work as expected. Or I don't know what to look for...

• @kiesel i mean exactly what @NeverDie mentioned above (https://forum.mysensors.org/topic/10952/battery-pro-mini-1mhz-vs-booster/12?_=1582011000646). When voltage drops below 2.4v the 8mhz processor is "out of specs". I cant promise it works as it should, but just as neverdie I also have alot of nodes out of specs so unless you do crasy stuff and pulling much current it should work.

About the noice questions, its very hard to diagnose or find unless you have a oscilloscope. What you might experience is bad reception and alot of :NACK messages.

In most cases i reprogram the bootloader and use 8mhz internal or 1mhz interlan.

• i mean exactly what @NeverDie mentioned above

You, dear @sundberg84, can call me Yveaux

• @Yveaux - truly sorry my friend All credits go to you!

• @kiesel Bluntly, you won't until it does not behave as expected....
Example - At one stage I had a second promini on 5v from a booster working the ultrasonic, all ok and signals passed on I2C to the Node via a level converter. When I tried using the ultrasonic direct off the booster, periodic results or nada. I finally figured out the VR on the pro-mini was attenuating the noise, tried various filters but none worked. I ultimately solved the problem using a separate 4xAA stack and a VR, no noise but bulky. But the trick was switching it on only when required, 4 years plus life was eminently possible...

As @sundberg84 commented, without a scope you are on a hope and a prayer as far as noise is concerned, that is why I suggest a secondary cell may be your solution if it does

• @zboblamont

How do I know whether a booster introduces noise? I think so far I have been lucky with my three nodes because they work as expected. Or I don't know what to look for...

If you wanted to play it safe (aka defensive programming), you could use your booster to charge a capacitor that's large enough to provide interim power, turn off the booster prior to doing your radio communications, and then turn the booster on again when you're done with tx/rx. That would effectively remove your booster from the equation as an interference source.

Also, some boosters have a pass-through, so you can use your regular battery voltage for as long as it's high enough, and then when it no longer is, enable your booster, if that's what you want to do. Here's an example of one:
https://www.openhardware.io/view/285/33v-Boost-Converter-with-Pass-Through

For instance, CR2032's can have quite a voltage dip after volunteering some current, so this would be one way to keep wringing a useful voltage out of such a battery after its voltage may have temporarily dropped too low.

Some of the ARM MCU chips include boost converters that can boost from as little as 0.5v....

19

12

3

9

27

7

5