Site icon Pallav Aggarwal

10 Most Important Tips for Low Power Embedded System Design

Overview

Low Power Embedded System Design is on the rise.

Low power consumption of an embedded system is an important aspect when designing a battery-powered product.

There is no single rule which can be followed universally for all type of use cases. It’s rather a mix of system design, circuit design, and firmware design, and trade-offs.

So, how should a design engineer go about it?

In this article, I am sharing 10 tips which will be very helpful for you when designing low power embedded system.

Before initiating work on low power embedded system design, there two things to do first:

Available power budget?

Understand the overall power budget of your low-power embedded design. For example, it should consume less than 500mA. If it is powered by a battery, what is the backup time required like 4 hours, 2 days, or 10 days?

System power consumption?

A block diagram of the embedded device should be created. Each block should have typical power consumption and min possible power consumption values noted. This block diagram will help you identify the critical section where you need to focus to reduce the overall power consumption of the system.

Information about device power consumption could be found in the datasheet or from application notes.

The power budget and estimated power consumption on the basis of high-level embedded design will help embedded design engineers build the right power-saving strategy to achieve the target.

The best strategy while working on Low Power Embedded System is to remember that “every uA matters”.

This will also help the engineer understand (early in the design phase) if the given battery capacity is sufficient or not.

When using a battery, always consider the self-discharge of the battery, practical capacity, and not the capacity specified in the datasheet.

Read this article for some useful tips on selecting the right battery for a low-power embedded system design.

There are various techniques which can help reduce power consumption, some of them I have personally used in the past while working on different projects.

10 tips for designing low power embedded system

1(a). Operating voltage of the circuitry

Keep the overall operating voltage low for the whole board as power consumption is directly proportional to the operating voltage.

Use the lowest voltage level possible. For example, if all the chips can go as low as 2.7, keep a small margin and set that voltage for the whole board.

If there is a need to have two sets of power-rails (example: 3.3V, 2.5V) on the embedded board and considerable power saving is there then it makes sense to do that, although an extra DC-DC converter and some digital level translation chips will be required to do so.

1(b). Operating voltage of power-hungry devices

Operating power-hungry devices at lower voltage will reduce the power consumption but may need an external voltage level translator and extra dc-dc converter/LDO to interface with the other circuitry (operating at different voltage levels).

Consider the wake-up time, power saving, extra effort, and extra cost required before making a choice.

2. Selection of components/ICs ( ADC, DAC, Relays, etc.)

Selecting the right ICs considering the overall power consumption budget is very important.

Pick ICs with low power (active / Idle) consumption and with a low operating voltage rating. There are other factors that are important to be considered. Read more details in the article on how to select electronic components.

3. Power consumption of wireless modules

There may be a requirement where you might use ready-made modules.

Consider the power consumption of communication interfaces (RS232/RS485), IoT Modules (WiFi, Bluetooth, Sub GHz RF, etc.), Camera, Sensors, etc. while selecting.

Ideally, it is good to compare their power-up time, active power consumption, idle power consumption parameters. Selecting the right technology is also critical.

For example, if you need to use RF in order to transfer data, think about which technology out of WiFi, ISM RF, BLE, Zigbee, etc. will be more suitable, both from user experience as well as from a power consumption point of view.

Many times if you select the wrong technology it will be difficult to optimize power consumption later.

4. Power gating the peripherals (ON/OFF control)

In design, the power control mechanism can be incorporated to put OFF a device when not in use.

For example, keeping a communication modem ON all the time could be expensive from a power consumption point of view so if the power ON/OFF control is available, the device could be power down when not in use.

Putting OFF Printer/LCD when not in use or even smaller components like ADC, sensors, etc. will save significant amount of power.

Please do consider power consumed during power-up (during this time device cannot be used) and the time it will take to fully power up.

In certain requirements, it might not be possible to power OFF due to these constraints.

5. Power Supply (LDO, Buck, Boost, Quiescent current)

6. LED

LEDs onboard can easily consume 1-5mA per LED depending on the series resistance used. If there are LEDs on board you can do the following:

7. Display

There are various options for an engineer to choose from like 7 Segment display, Paper Display, OLED, Character LCD, Mono Graphic LCD, Glass LCD, TFT, etc. In general, the display can contribute to more than 50-60% of the total power consumption.

If a design is using a display, it is important to select display carefully, considering the power consumption budget. If the high power-consuming display is mandatory, other techniques like power gating back-light, full display, right color scheme (dark, the grayscale mode) can help reduce the power consumption significantly. The size of the display will also impact power consumption.

Watch the videos listed here to get a very good idea about the power consumption of various displays used in embedded system design.

8. Identify and reducing leakage current

There are so many leakage currents everywhere in our circuits which we don’t pay attention to or are unaware of.

They are critical or battery-powered embedded devices and we need to identify all such leakages and try to remove them or reduce them to the minimum possible level.

Some of the examples are:

9. Pull-ups

The optimal value of pull-ups can help reduce power consumption. Pull-ups are mainly used for I2C, keys, etc. Each pull-up can contribute to a few milliamps saving.

For example, consider using 22k/10K pull-up instead of 4.7K or 1K pull-up (if performance is not affected). At 3.3V when the pin is at zero, the pull-up will drain 3.3mA if the value is 1K and 330uA if pull-up is 10K.

Impact of pull up resistance value on power consumption

10. Microcontroller (Software Control)

Select the right MCU. If MCU’s power consumption is considerable (>20%) compared to the overall embedded board power consumption, the selection of the right low-power MCU is critical.

As per my knowledge, MSP430 was the lowest power consumption MCU available in the market for a long time but now we have a new company Ambiq Micro manufacturing MCUs that can run @ 4uA current per MHz.

Even ST Microelectronics is coming up with new MCUs with very low current consumption per MHz, I will be creating a separate article listing all low power MCUs. Check their STM32L0, STM32U5 series MCUs

Do you know any other MCU which has such a low power consumption, do let me know?

If the board’s average power consumption is, say 500mA and an average MCU is consuming just 10mA (2% of the total), putting too much effort into selecting the lowest power MCU will not bring any significant impact. Focusing on the peripherals might bring bigger savings by choosing the right peripheral or power gating it via appropriate hardware & code flow control.

But, if your average current is a couple of micro amps or most of the time system is in sleep more, selecting the lowest power consuming MCU is critical.

In low power battery based products, in order get maximum battery back time, you need to focus on reducing the average power consumption.

Some of the other MCU related factors are:

Code execution flow strategies: Basically, one needs to optimize how to write the code such that user needs are met with minimal CPU blocks so as have maximum power saving. Some of the use cases are:

Additional benefits of low power embedded system design

There are many ways to conserve power, but all may not be suitable for every use case. Consider various aspects like user experience, response time, design complexity, size, cost, etc. before making a choice.

Analyzing Power Consumption

All these considerations while designing low power embedded system are fine but you must measure actual power consumption using some measuring equipment or tool.

Once you know actual power consumption you will be able to make an informed decision on what action to take in order to further control it.

There are several ways to measure power. The manual way is to set up a multimeter to measure voltage & current then calculate the power. Set a condition on the embedded board and measure it manually via meters.

This is not the best way to measure power but it may work in some situations. Ideally, you must buy one DC voltage/current meter having data output on a PC so that you can monitor/log the power consumption over a period of time, at different device operating states and analyze it.

Testing of any embedded product in a real scenario or simulated stress condition is very important for its reliable operation in the field.

Make sure you are creating such conditions while testing your low-power embedded system.

There are a few DC Power/ Energy Analyzers available in the market that can be used during development:

Joulescope (highly recommended), Otii by Qoitech, Nordic Semiconductor Power Profiler Kit 2 (highly recommended).

Read more about them in an article on power analyzers.

You can use this article as a guideline at the start of the design or as a checklist before finalizing the design.

Some more good reads for low power embedded system design

I hope you found this article useful and with this, you will be able to significantly optimize the power consumption of your embedded product.

If you need help in reviewing your embedded system design for low power consumption, you can contact me.


If you like the article, please share it with others. Any suggestions or comments, let me know here.

Read my other articles on embedded system design.

Happy learning to you!



Exit mobile version