Tips for Minimizing Power Consumption in Your Embedded System

April 26, 2018 Altium Designer

Two lights, one off with switch and one on shining


For years, I always forgot to turn off the lights and fans at my house. Despite initially denying that constantly using these appliances significantly increased my electricity usage, I eventually broke my bad habit and began turning off every little switch. After all, being more prudent about my electricity usage reduces my monthly bills and promotes a greener earth.


Unfortunately, minimizing power consumption in an embedded system requires much more work than flipping off some switches. The right design strategy needs to be implemented long before you even start drawing the circuit. And whether your device is solar-based or battery-powered, every detail matters when it comes to minimizing the power consumption of your embedded system.

Plan the Device’s Power Budget

As a hardware designer, it’s natural to feel excited about a new project. But instead of rushing off to get the most powerful microcontroller available, you should understand the nature of the application and uncover any constraints on the power consumption. Even if you’re not designing a solar-powered battery device, an energy-saving design, in general, may be preferable if you want to keep up with competitors.


To optimize your device’s power budget, start by placing a reasonable limit on your design’s power consumption and works backward from there. Choose microcontrollers and other components that have energy saving features or simply consume less power. If you choose the wrong components, it could make it tougher to implement power-saving measures at the design stage.

Minimize Power Consumption in Your Design

It takes both hardware and firmware engineers to implement efficient power-saving features in an embedded system design. Here are some tips to collaboratively minimize the power consumption of your design:

1. Use Deep Sleep Mode

In some outdoor, solar-based applications, using a powerful microcontroller to fulfill given specifications can be inevitable. For instance, an outdoor vehicle ticketing machine needs to issue a printed ticket or scan a payment card within a short period of time, before storing the records in its non-volatile memory.


Based on these functions, a high-end 32-bit microcontroller becomes the best option. However, such a powerful microcontroller also consumes higher current when all the peripherals are turned on. This results in the need for a higher capacity battery if the microcontroller is continuously running at full power.


A common practice to prevent the microcontroller from drawing maximum power is to put it into deep sleep mode when it’s idle. In deep sleep mode, microcontrollers often consume a tiny fraction of the maximum current, often in nano-amps. Firmware engineers can then use interrupts to wake up the microcontroller as needed.


Man sleeping on a pillow

Use deep sleep mode for your microcontroller.




2. Use Switching Regulator

Sometimes, unnecessary power wastage occurs in the form of heat. This is true when you’re using a linear regulator in your design. For a solar powered device, typical power circuits require the battery voltage to be dialed down. Naturally, a linear voltage regulator is the cheapest solution for this.


Linear regulators are, however, not known to be efficient, as they dissipate the difference between the voltages as heat. When you’re running the device on a battery, the heat dissipation results in extra current being drawn from the battery. If this is the case, you can opt to use a switching regulator instead.


While switching regulators and associated components increase the overall unit cost, this is a more effective tactic than using linear regulators. Less heat dissipation means a longer lasting battery, which is useful in cases when the device has to operate without sunlight. In power sensitive applications, every milliwatt saved can make a huge difference.

3. Power Off Unused Components

Putting the microcontroller into deep-sleep mode is a brilliant technique for reducing power consumption. But other components like logic integrated circuits (IC) or communication IC can still drain significant current even when your microcontroller is in deep sleep mode.


This issue can, thankfully, be minimized. Instead of having a single voltage regulator on the PCB, you can use two regulators to separately power the microcontroller and the other components. This method allows the microcontroller to turn off the power of other components before entering deep sleep mode.


on-off switch flicked off

Cut off power to unused components.


Furthermore, this ensures power consumption in the idle state only comes from the microcontroller and the input necessary to interrupt the microcontroller from deep sleep mode. By using Altium Designer’s PDN analyzer, you can ensure that the power tracks are sufficient and not prone to causing additional power loss. Strong PCB design software can encourage every step of your design.

Need more tricks to reduce your device’s power consumption? Consult an expert at Altium.

About the Author

Altium Designer

PCB Design Tools for Electronics Design and DFM. Information for EDA Leaders.

Visit Website More Content by Altium Designer
Previous Article
Interface an LED With an 8051 Microcontroller: Processes and Applications
Interface an LED With an 8051 Microcontroller: Processes and Applications

Interfacing an LED microcontroller can be difficult to design for, however, can also be within your best in...

Next Article
Beyond Unified Workflow: True Unified PCB Design
Beyond Unified Workflow: True Unified PCB Design

PCB design is more than just finding a unified workflow, it’s about maintaining an entire unified design en...


Enjoying our blogs? Subscribe to our mailing list to have a weekly Altium blog digest sent to your inbox.

First Name
Last Name
Acknowledging Altium’s Privacy Policy, I consent that Altium processes my Personal Data to send me communications, including for marketing purposes, via email and to contact me by phone.
Thank you!
Error - something went wrong!