Battery benchmark – Will my LoRaWAN IoT device work with a coin cell battery?

April 24, 2020

Setting the scene

Our focus: The batteries, not the LoRa nor LoRaWAN
Batteries under test: CR2032 and CR2450 coin cells
Tested with: Otii + Otii Battery Toolbox
Power profile assumption: We assume a simple, generic power profile for a LoRaWAN device. TX/RX burst of 1s with a current consumption of roughly 40mA.


With LoRaWAN being one of the most popular IoT connectivity standards, it is interesting to understand what kind of batteries work using this technology. For tiny and cheap sensors, coin cells are the obvious choice, considering that they allow for small form factor and are reasonably inexpensive.

Although coin cells are known for their small size, we also see that they have high internal resistance where tenths of ohms are common. A few years back, you could only use coin cells if you had a maximum of a few mA in peak current – otherwise, the battery would suffer damage, resulting in terrible capacity.

Recent articles state that coin cell manufacturers have been able to lower the internal resistance and increase the capacity. But are coin cells really up for the task? We decided to find out by testing the most common coin cell batteries with Otii.

Fig 1. Battery connection to Otii Arc.

Our mission: To test the most common coin cell batteries with Otii

ln this study, we focused on the battery, not the LoRa nor LoRaWAN parts. We also chose to test only CR2032 and CR2450 coin cell batteries. So the main question we wanted to answer was: Are there CR2032 and CR2450 coin cell batteries that can handle the power requirements of a LoRaWAN IoT device?

Our problem, requirements and LoRaWAN profile

During a TX transmission, we get a current consumption peak that – considering the high internal resistance of the coin cell battery – will get a voltage drop below the IoT device cutoff voltage, thus creating a brownout. This peak sets the limit for the device’s battery lifetime.

Let us make the power profile of LoRaWAN devices more general. Let us assume that the IoT device has an TX/RX burst of ls and that during this time the current consumption is roughly 40mA. Yes, this is a very simple power profile, but as a generic profile, it works. lf the IoT device has a cutoff voltage of l.8V, the battery voltage – most probably during a TX burst – will drop below the cutoff voltage, resulting in a brownout. ln other words, the battery is considered dead.

The information above gives us the requirements that the battery must be able to handle.

How to use Otii tool to measure batteries

For this investigation, we bought random packages of batteries that we then profiled. We bought all the batteries from regular stores, with one exception. Murata batteries were not available in stores at the time for this test, so they were sent to us from Murata.

The batteries we tested, both CR2032 and CR2450, were:

  • Duracell
  • Energizer
  • GP
  • Murata
  • Panasonic
  • Renata
  • Varta

We profiled all the batteries with Otii tool ( using the settings shown in Fig 2.

Fig 2. Settings for proiling CR2032 and CR2450 batteries in the Otii Battery Toolbox.

As you can see, the high current consumption was set to 40mA for ls, according to our generic LoRa profile (described above). The low current consumption and timelow were adjusted to get a 30-day discharge time with a decent number of iterations. We also considered the stated battery capacity from the datasheet. The profiling exit condition was when the battery had an Open Circuit Voltage (OCV) at 2V. During the period when we had a high current consumption, we assumed that the voltage would be much lower due to the internal resistance. Thus, if the voltage fell below 0.6V, the profiling stopped.

As you might guess, it takes a very long time to profile coin cell batteries from seven manufacturers, each having two sizes. To speed things up, we mounted ten Otii Arcs to the same computer and connected them to 2 virtual machines on this computer. By doing this, we got l0 battery profiles per month, which is pretty good when it comes to coin cells.

Results: Battery profiles for seven different coin cell brands

Our results show that coin cell performance differs a lot between the manufacturers, especially at higher currents. The graphs below (Fig 3 & 4) show battery internal resistance when the battery is discharged, according to the LoRa profile. One interesting observation is that the profiling of Murata CR2032R is the only battery that exits because the Open circuit voltage reaches 2.0V. All other battery profiles exit because the OCV reaches a 0.6V cutoff voltage.

We would like to point out an important thing in the graph: When the internal resistance increases, the battery voltage will decrease during the active phase of the device. Sooner or later, the battery voltage will fall below your device cutoff voltage, and this will be the end of it. With this in mind, the CR2450R from Murata and Varta perform better than the other batteries since they have a reasonably low internal resistance for a more extended period than the other batteries.

Fig 3. Internal resistance measured for seven different brands of CR2032 batteries.
Fig 4. Internal resistance measured for seven different brands of CR2450 batteries.

You also need to consider that when we profiled the batteries, we only used one battery per size and manufacturer. To be sure, the test should be performed with several batteries from several batches, thus giving us more statistical confidence. So please keep this in mind when you look at the graph for CR2032 from Duracell and CR2450 from GP. Are the batteries really that bad, or did we test a battery from a bad batch?

Will the coin cell work, and for how long?

After we had profiled the coin cell, we let an Otii Arc emulate the battery and hook up our LoRaWAN IoT device to the main outlet. We then ran a script that cycles the IoT device active cycle, excluding the sleep period. Then Otii Arc increased the used capacity of the battery until we hit the cutoff voltage of l.8V. The battery emulation gave us an estimate of how much of the battery energy we could actually use. We considered the rest of the capacity to be dead, i.e. not possible to use.

Fig 5. Otii Arc connected to Sensative LoRa Strip.

lf we divide the available capacity with the mean current consumption of our device with our real intended sleep time, we get our estimated battery lifetime. lt’s an estimated value of the number of hours that our device will work. Please note that, at this point, we have not considered temperature variations, battery self-discharge, battery varia- tions within the batch, etc.

Battery lifetime (h) = Useable battery capacity (mAh) / Average current consumption (mA)

To make an even better estimate, we should also create battery profiles for different environmental conditions, like temperature. For example, we could place the battery in a climate chamber during profiling. Also, remember that devices might behave differently in different environments. So make sure to measure the power profile in all conditions that will be applicable for the device.

One more thing: lf your device has a DC/DC step-up converter, the current drawn from the battery will increase as the battery voltage drops. This setup might result in a current much higher than the profiled 40mA. ln some cases, the coin cell battery will just give up, even though there is capacity left.

A real-world example: Sensative LoRa Strips

To simulate a real-world example, we used Sensative’s ultra thin LoRa Strips. However, instead of using the device’s custom made battery, we ran it on the coin cells we profiled.

First, we measured the power profile of the device (sleep and active event). To trigger the active event, we used a magnet, which we either moved toward or away from the sensor. This movement added on average 4.07uWh (we disregard the sleep energy since it is a factor of l000 smaller), see Fig 7.

Fig 6. Sensative LoRa Strip sleep current, on average l.46uA (measured for roughly 2 minutes).
Fig 7. Active events of the Sensative LoRa Strip, triggered by magnet as in open/close window application.
Fig 8. CR2450 from GP emulated on Sensative LoRa Strips.

To calculate the added average current consumption over the sensors lifetime, we had to decide the average amount of active events per hour. Let us assume that we had four events per hour. This assumption gives an ad-on to the sleep current of 5.43uA, giving a total of 6.89uA. To make the calculation easier, we just assumed that the average current consumption, with four events, is 7uA over the entire battery lifetime.

Current consumption (A) = Measured energy (Wh) for all events / Time (h) x Measured voltage (V)

Battery lifetime calculation 1

When we look at a generic CR2450, the capacity is around 600mAh. So if we based our battery lifetime only on measured average current consumption and stated battery capacity, a CR2450 would last for 9.8 years.

Battery lifetime calculation 2

As we look at the measured available capacity, when discharging according to the LoRa profile mentioned previously, the capacity varies from 200 to 500mAh. To show how big the difference might be, let us look at two of the profiled batteries: CR2450 from GP and Murata. ln these examples, the calculated battery lifetime – based on the profiled battery capacity – is 3.6 years for the CR2450 from GP and 7.2 years for the CR2450R from Murata.

Battery lifetime calculation 3

To take our battery lifetime calculation one step further, we need to measure how much of the real battery capacity is available for us to use with our device. To know this, we need to find when the cutoff voltage occurs during an active event.

First, we change the source, in Otii, from Power Box to the two battery profiles chosen above. Then we do a project where we step up the used battery capacity and check the supplied voltage during an active event for the sensor. Sooner or later, during an active event, the internal resistance of the battery will make a voltage drop below our sensor’s cutoff voltage. For this investigation, we decided to take a rather big capacity step of 50mAh. Take smaller steps to make the investigation more accurate.

Please note that this was a short test. Already when we used 100mAh, the sensor made a reset and never came back again. So, the useable battery capacity for the measured CR2450 from GP is less than l00mAh. As we noted previously, take smaller steps between 50mAh and 100mAh to get more exact results.

Fig 9. CR2450R from Murata emulated on Sensative LoRa Strips.

As you can see, the CR2450R from Murata worked better. When we set the used battery capacity to 400mAh, we got a power reset during the active phase. When we gave it another try, we could even set it to 4l0mAh before experiencing a reset. So, we got a battery lifetime calculation of l.6 years for the CR2450 from GP and 6.5 years for the CR2450R from Murata. Quite a difference!

What we always do
What we should be doing
AssumptionsCoin cell CR2450Coin cell CR2450 LoRa activity profile: 40mA for ls 600uA for l79s until OCV is 2V
Avg. current consumption (uA)77
Datasheet capacity (mAh)600610500
Measured capacity (mAh)224444
Battery life (years)

Some notes regarding these calculations:

  • The GP battery performed really bad. lt could be a coincidence – perhaps a bad sample from the batch. You will need to test several batteries to get more statistics.
  • The above calculations are just a few examples of how to do battery lifetime calculations. So yes, we have taken some shortcuts. To be more accurate, profile the batteries with a power profile that is correct according to the sensor power profile.
  • ln our experiment, the sensor is very close to the gateway, and thus the spreading factor is low. lf you look at the active event, it is roughly l00ms, not ls as we used when profiling the battery. We recommend that you calculate battery lifetime when you are close to the gateway and also when you are far away from the gateway. Thus you will create different power profiles for the sensor but also different battery profiles due to changes in the discharge profile.
  • The active events also have different peak current depending on the battery voltage. So, to be even more accurate, the battery should be profiled with a constant power profile rather than a constant current profile. We will include these features in a later release of Otii SW.
  • Our calculation does not consider environmental conditions. The temperature will alter battery behaviour, and the sensor current profile might also be affected by heat and humidity. So new calculations need to be performed for different environmental conditions.
  • Our battery lifetime calculation does not take into consideration battery self-discharge.
What we always do
What we should be doing
Datasheet capacity (mAh)600610500
Measured capacity (mAh)600224444
Battery capacity after iterations (mAh)600<100400
Battery life profiled (years)
Battery life (years)1.66.5


So, to answer the main question: Are there CR2032 and CR2450 coin cell batteries that can handle the power requirements of an IoT device for LoRaWAN? Well, that depends on the battery you choose and if you can keep the active peak current at roughly 40mA. Some batteries will cope with this and others will perform very poorly. Our results show that coin cell performance differs a lot between manufacturers, especially at higher currents.

lf you trust that the user will change the battery when the device has stopped working, you are on thin ice. The risk is that the user – if s/he turns to a random cheap battery – will be disappointed in the battery lifetime because the new battery does not perform as well as the original coin cell.

We would love to hear from you! Feel free to share your test results and questions with us at

Follow Us

Terms of Use      Privacy Policy


Copyright © 2020 Qoitech AB. All Rights Reserved.