Maximize Battery Life!

Maximize Battery Life!

Most embedded solutions rely on the ability of a microcontroller, and its subsystems to ‘sleep’ at very low current draws. Reading sensors, updating displays or transmitting data usually requires a few milli-amperes of current. Thankfully, most systems work on discrete sampling and infrequent transmissions, like maybe once every minute. And each sensing and transmission session lasts just a few seconds. So effectively, the system sleeps for about 60 seconds, wakes up, senses and optionally transmits for a few seconds and then goes back to sleep. This cycle needs to keep repeating for as long as possible. It is this mechanism that enables battery powered sensor systems.

Wake-sleep cycles current draw example, for our nrf54 BLE tags, on Nordic Power Profiler



Every sensor of course needs a power source. Some rely on power supply from the utility converted to DC via SMPS, in which case, power draw optimization is nice to have, but not critical. Many sensors are located far from such power sources (say, a weather sensor on a random rooftop). Some sensors are mobile (eg: a BLE tracker). Some are for indoor applications and some outdoor. Therefore, we need some form of stored energy for the system to run.

Chemical cells (aka batteries) are perhaps the most used energy source. Some applications have access to frequent sunlight or vibration or heat differential; these translate to energy harvesting possibilities through solar, piezo or Peltier elements. Here too, there is a need to store the energy for durations where this source may be unavailable or too feeble or just as a backup.

Where no other energy source is available, we prefer primary cells. Eg: Alkaline, LiSoCL. They can never be charged. So they have one fixed lifetime where they go from a max voltage to a minimum voltage, after which they need to be discarded and replaced with fresh units.

Primary cells (source: https://en.wikipedia.org/wiki/Primary_battery)

Where other energy sources may be available, we prefer secondary cells. Eg: Li-Ion, Li-Fe-PO4, Ni-MH. They need specialized circuits to charge and discharge them as per strictly defined protocols. But they are multi-cycle. For example, a typical Lithium-Ion cell may be able to go through 500 cycles between its max and min voltages before it needs to be discarded and replaced.

Li-Po rechargeable secondary cell (image source: https://freesvg.org/1533899256)

One significant issue with these is that most of these chemical cells containing Lithium is that they are

inherently dangerous

and require special care and attention in storage, transit and installation.

Super-capacitors are also secondary storage candidates. They function similar to chemical cells, but use electrostatic field to store and release energy. Therefore, they have magnitudes higher number of cycles possible (theoretically infinite), but have significant leakage, capacity limits, energy density limits, and higher costs.

Anyway, it is clear from the first section that one of the important things to optimize for, while reducing the energy dependence of a sensor is minimizing its sleep-current, especially if the system can do with infrequent checks, say 1 per 5 minutes.

Novice embedded designers get happy when they see their designs drawing a few milli-amps (one thousandth of an ampere current). Experienced designers push this to micro-amps (one millionth of an ampere current). Extreme designers like to push this to nano-amps (one billionth of an ampere current). Maybe pico-amps is also possible, but that would be a god level over-engineered design 🙂

Just to give you a perspective of how much current a milli-ampere is: A typical single LED that you see on any of your electronic devices, draws about 20mA.

LEDs (By Elmepi – Own work This file was derived from: LED Rainbow Pack – 5mm PTH 12903-01.jpg, CC BY 2.0, https://commons.wikimedia.org/w/index.php?curid=156714549)

So when we say that a sensor consumes 20nA current in sleep, you can visualize that the SAME current that powers that single LED can power 1,000,000 (a million) of these sensor systems while sleeping! And if the sensor system spends >90% of its time sleeping, that reduces the energy requirement from a power source!

Like how drastically?

  • Assume our device sleeps for 300s with a sleep current of 100nA
  • Wakes up for 100 milli-seconds to check for sensor readings, with a current of 20mA, then goes back to sleep
  • Assume that it transmits 24 packets a day (approx once every hour) for 5 seconds each consuming an average of 30mA and receives 10 packets in 2 second each at 20mA.
  • For now, lets also assume that there is no display.
  • Assume we have a simple 18650 Li-Ion battery as a power source and an LDO to give out a steady 3.3V for the microcontroller and its systems

You could head to out to our handy calculator to play around with this yourself. This tool has been modelled based on a simple but extensive model that takes into account a lot of common variables used in actual low-power systems.

Anyway, here is what the consumptions look like with just the sleep current varying and all other parameters kept constant, as generated by our tool:



From these simulations, it is clear that the sleep current has a significant impact. However, for frequently waking systems (as opposed to purely interrupt wake based systems), the impact reduces beyond the uA range. This is because, the significant contributors for the consumption are the tiny but current hungry wake sessions.

Needless to say, a good design would seek to optimize the current consumption also once the device is in non-sleep mode. A few ways this is done:

  1. Power-gated peripherals
  2. Reduce each milli-second time for each activity
  3. Minimize costly radio transmission/ reception and display updates
  4. Play around with microcontroller clock frequencies and voltages

We are on a quest to build the most power optimized devices and one of our recent projects aims at <100nA sleep current and 3 x AAA batteries that should last it through a year for a WiFi enabled device transmitting about once an hour!

Do give our free online tool (beta) a spin and let us know your thoughts!

#maximizeLife

#maximizeBattery

#tinkerbee

Leave a Reply