Home > Tracks > Embedded Systems Hardware

You've Got the Power. Manage it Wisely.

Matt Liberty - Jetperch - Watch Now

No customer wants to change or recharge batteries. This talk explores the techniques and methods to develop products that wisely consume only the energy that they need. Following a quick review of current, voltage, power, and energy, this session will cover:

  1. The techniques used to budget for energy consumption during the initial product design
  2. The equipment and methods used to measure voltage, current, power & energy
  3. The common ways of reducing energy consumption in your product after you have hardware and software. These techniques span both hardware and software.

Energy management applies to nearly all battery-powered products including mobile phones, toys, and Internet of Things end node. Even always-on mains powered devices are concerned with power consumption to meet energy regulations, reduce cost, and consume less energy. This talk will help you develop better, more energy-efficient products.

italicssurround text with
boldsurround text with
**two asterisks**
or just a bare URL
surround text with
strikethroughsurround text with
~~two tilde characters~~
prefix with

Score: 0 | 3 days ago | no reply

Many thanks for this very interesting review with a lot of useful advice and tips. I especially liked the tip to monitor the changes in power usage in the Continuous Integration process as the product is developed, which I had previously only considered applicable to software development.

Score: 0 | 2 months ago | 1 reply

Thank you, Matt! I thoroughly enjoyed the talk. It brings me back to the time I was doing firmware for a small battery-powered device where consumption really mattered and was a first-class metric. I only handled software side of things, so it is very interesting for me to hear about HW aspects and shady area in between. Most of the software-controlled things you mention I did indeed implement or experiment with - various sleep modes in the MCU and other units, slowing down clocks, gating peripherals. Our deepest sleep mode was basically equivalent to full device shutdown, with just the RTC remaining powered for the eventual wakeup. Measuring equipment was not that advanced - standard desk voltmeter+ammeter, but that was mostly enough for measuring static power consumption in different modes. Oscilloscope was around but used for checking signal waveforms rather than power.

Now I'm in a project where the MCU runs as a part of a much bigger system, and there are very few peripherals with power-related controls. We have just a couple of basic MCU sleep modes to play with, and the main power optimisation is completing requests as quickly as possible so that the whole large unit can go to sleep earlier. Still, I never know what kind of firmware I might end up with in the future, so all the techniques and considerations are still highly relevant :)

I found the presentation to be a great summary of the topic and can recommend it to anyone doing software or hardware design for power-constrained devices (especially for the first time).

Score: 0 | 2 months ago | no reply

Hi Alex,
Thank you for the feedback and great to hear that you enjoyed the talk! If you happen to think of anything you tried that I didn't mention, please let me know. My goal is to make this talk comprehensive. I hope that you current project goes well!

  • Matt
Score: 0 | 2 months ago | 1 reply

Many thanks for your very comprehensive presentation, Matt.

Score: 0 | 2 months ago | no reply

Great to hear that you enjoyed it. If you have any questions or other feedback, let me know!

Score: 2 | 2 months ago | no reply

Thank you for joining me for the last talk of the day! I hope that you have enjoyed day 1 of the conference.

You can download the power consumption worksheet shown in the talk.

Update: I just rewatched the talk, and these additional points should be included in optimization:

  • Power regulators, particularly switching regulators whose efficiency can vary by the load.
  • Tickless RTOS mode - don't want to wake up for no reason while sleeping. If you feel you need an RTOS tick, you should probably consider your code structure.
  • Voltage - can consider reducing voltage to digital logic.
  • Tradeoffs between FPGAs/CPLDs/ASICs and microcontrollers/microprocessors (thanks for the tip, anonymous viewer!)

If you find anything else that I omitted or have an energy optimization story to share, please comment!