SDS Logo | An Applied Visions Company

You don’t have to give up performance to have energy-efficient embedded systems

by | Jan 25, 2019 | Embedded systems

The embedded systems market is expected to grow at a Compound Annual Growth Rate of more than 4 percent between 2017 and 2023. Some of the main drivers of market growth include the growing demand for wearables; the increased usage of embedded sensors in implanted, wearable, and ingestible healthcare devices; and the growth of widely distributed unplugged apps in such areas as agriculture and asset tracking.

These factors have one thing in common: low IoT power requirements.  Of course, end users are not willing to sacrifice performance or function in order to conserve energy. It is also cost-prohibitive and difficult to change the batteries in many of these sensors. Just consider the logistical issues in something as remote as a vast agricultural field and the complexity of an implanted device inside a human being.

This leaves it to embedded systems engineers to figure out how to design and deliver low-power embedded systems that check off all of the boxes when it comes to performance requirements. This is possible when you have the right team in place and the proper steps are followed.

Why are energy-efficient embedded systems important?

Embedded systems are now used in many IoT applications and devices, ranging from industrial sensors to fitness trackers. The data from these devices is transmitted to the cloud for processing. Gathering and transferring this data eats up power.

But many of these smaller devices are not physically connected to a power source, making power consumption a critical design issue. Users do not want to be tethered to a wall or have to hunt down an outlet to charge a device.

Users place a high value on how often they have to “plug in” and how long the battery of their device lasts. Ideally, users can set up their device and not have to worry about tending to it from a power consumption standpoint. This is an absolute must in implanted devices and sensors used in remote areas.

If creating a low-power embedded system is not on the design list from the outset, it is difficult to build it in later, when users are complaining about power drain issues. Successful embedded systems in today’s (and tomorrow’s) market make energy efficiency a priority.

The catch is that you cannot sacrifice  performance to improve power consumption. Customers are unwilling to accept that certain features are not possible with low power. This places a burden on the engineers to strike the right balance between performance and energy consumption.

Power management techniques in embedded systems

Identify power constraints

Of course, you cannot design an energy-efficient embedded system without a clear picture of the requirements. What are the necessary features? What are the nice-to-haves? How much power do each of these functions require? If some items raise a red flag, it’s time to address the features that will drain the battery.

It may be that, instead of transmitting every single temperature recorded by a sensor, the same benefit may be gained if only a percentage of readings are transmitted (while drastically reducing the power requirements). If certain power-draining features are a must, we plan accordingly during the design phase to minimize the negative impact.

Choose the best microcontroller

Microcontrollers play a big role in delivering low-power embedded systems, while keeping costs down. A microcontroller is an integrated circuit that includes a processor, memory, and input/output peripherals on a single chip. It is the workhorse of the embedded system, responsible for the specific function or operation within it.

We often rely on companies such as Nordic Semiconductor and Texas Instruments for our microcontrollers. These are established brands that provide robust products, detailed documentation, and reliable security features.

When researching options, we make sure that the device manufacturer offers power-saving features such as sleep and hibernate modes. Well-educated embedded engineers will select microcontrollers that have power-saving features already built in, so they can access them through an Application Programming Interface (API) or Software Developer’s Kit (SDK). The engineers must know how to program the microcontroller to activate power-saving features.

Use low-power modes

One way to save power is to completely power-down a device when not in use. But some systems take too long to start up again.

Low-power modes are the best alternative. Deep sleep and hibernate modes use a fraction of the battery power while eliminating the need for a complete reboot. They should be employed when a system or device is idle.

We recently worked with a client on a system that used an accelerometer and sensors to determine when it was being moved around. We were then able to use these sensors to infer when the device was not in use (not being moved) and turn on power-saving sleep functions.

Use a switching regulator

Microcontrollers require a specific voltage input. A switching regulator is a voltage regulator that transforms the incoming power supply to a pulsed voltage, providing the required constant power to the microcontroller. You get the maximum life out of your battery with efficient voltage supply.

The downside to using a switching regulator is that it turns the voltage into an oscillating waveform, which creates a high-frequency noise. Certain devices, such as analog sensors, may not work well with this noise, so additional components are required to clean it up when we choose to use a switching regulator.

Power off unused components

One way we conserve battery power is by programming the embedded system to power off components that are not being used when the device is not in use. Our engineers design the system in such a way that peripherals can be powered on and off by the software.

Potential issues such as a lag in configuration when powered back on must be considered. There may also be cases where a peripheral is transferring data, and powering down too soon could result in data loss. Engineers account for these potential issues during design and development.

Choose the right communications technology

When dealing with IoT embedded systems, wireless communication to the cloud is a necessity, but this can drain power. There are several low-power alternatives that deliver the required result.

We often use Zigbee in our projects. This is a wireless transmission specification that creates a low-power, low-data-rate personal area network. It is ideal for smaller scale projects that require wireless communications. Similarly, Bluetooth Low Energy (BLE) is a low-power option to communicate over short distances.

LoRaWAN (Long Range Wide Area Network) is a Low Power Wide Area Networking (LPWAN) protocol that wirelessly connects battery-operated devices and systems to the internet, making a low-power long-range WAN possible. Narrowband IoT (NB-IoT) is another LPWAN technology that works in one of the following ways:

  • Independently
  • In unused 200-kHz bands that have previously been used for Global System for Mobile Communications (GSM)
  • On LTE base stations allocating a resource block for NB-IoT operations or in their guard bands

IoT devices using NB-IoT deliver power more efficiently, consume less power, are more reliable, and can be deployed across a wider range.

Don’t forget about the user in low-power IoT

A low-power device is useless if it does not meet the user’s expectations. We always come up with real-life use cases for the embedded system, identifying the required functionality and associated components.

This information determines the required power output for each use case. Power can then be properly regulated for each scenario, optimizing low power while delivering on functionality.

How important low power is to the end user often depends on the device. For example, a medical wearable that is monitoring vital stats needs to stay charged and perform for long periods of time. On the other hand, a user may be willing to charge a smart device once a day in exchange for advanced features that are highly valued.

Incorporating use cases and user expectations into the design of energy-efficient embedded systems is essential to strike the right balance between performance and power consumption.

If you haven’t guessed it already, the majority of low-power embedded systems are custom-designed. The specific requirements of a particular project narrow down the options of what can be used to build the system.

Custom design demands an expert team. Skilled individuals must figure out the minimum number of peripherals or operations needed to complete a given task.

It’s a good idea to begin with components you already know can function with low power, but low power should not specifically be your first goal—getting the correct outcome should be your primary focus. Once you have the outcome you need, then you look for ways to reduce power consumption.

When we work with clients, we finalize the engineering requirements and prioritize what is needed. We balance that with rationing out battery power. We make informed decisions based on what is absolutely needed (and what can be powered off) to get the job done.

It is not the same answer every time. Each project is unique, and the process begins again with the next project. That said, the principles remain the same; if you follow the power management techniques detailed here, you are well on your way to an energy-efficient embedded system that delivers on all cylinders.

<strong>Ed Kuzemchak</strong> - Ed is the founder of Software Design Solutions. He has been creating embedded software solutions for nearly 30 years and has been the president of Software Design Solutions for over 13 years.

Ed Kuzemchak - Ed is the founder of Software Design Solutions. He has been creating embedded software solutions for nearly 30 years and has been the president of Software Design Solutions for over 13 years.