Analyze Power Consumption in Embedded ML Solutions

When it comes to building battery-powered IoT solutions, one of the key factors of success is surely the battery life. But what exactly is the impact of an embedded machine learning brick on the power consumption in an IoT solution?


This is a companion discussion topic for the original entry at https://www.edgeimpulse.com/blog/analyze-power-consumption-in-embedded-ml-solutions
2 Likes

This blog is really helpful!
I want to estimate the battery life of the sound detection model that I have trained on edge impulse using the Arduino Nano 33 BLE Sense board. I also plan to measure the current consumption in different modes.

Is there any alternative to using Otii Arc for measuring the current consumption as it is expensive and very hard to find in the country I live in?
I have previously used a multimeter and oscilloscope for this purpose and have not been able to measure current consumption for different modes.

The setup I used for measuring current consumption using multimeter is -


The multimeter averages out the current value due to which I cannot calculate the current consumption of different modes.

I decided to use oscilloscope for this purpose but was not able to get proper values from that either. The setup used was -


In this setup, I am measuring the voltage difference across the resistor to obtain the current consumption. I do this by calculating the difference between the two voltages measured.

I am getting a lot of noise due to which I am not able to estimate the voltage difference.
The first and second readings correspond to the voltage measured by the two probes at either ends of the resistor and the third reading displays the difference in voltage which can be used to measure the current consumption.
Here the current consumption is around 3mA as measured by the multimeter and shunt resistor used has a value of 0.1 ohm.

.

Can someone suggest ways in which I can measure the current consumption for different modes such as sampling, classifier and sleep?

Thank you!

Hello @dhruvilodhavia,

I actually have been struggling to find a good tool to measure current consumption for a while before I tried Qoitech tool.
And I have to say, the Otii Arc is a very good professional product to quickly get things done.

I am sure some other people here in the community might have used other techniques and I’d be also very happy to hear how the measure the power consumption.

Regards,

Louis

If you only need 3.3V you can use a SiLabs Giant Gecko ($29 only) or a Nordic Power Profiler kit ($80) as a cheaper alternative.

I love my Arc though :wink:

Hello,

Power measurements on embedded devices is not always straight forward. All depends on the application and which current level you target. I had the idea to bring this topic inside a research project but this was not possible because a limit of budget…

For example Keysight provides an instrument that can do the job Precision IoT Power Consumption Measurements Using a Device Current Waveform Analyzer.
But these solutions can becomes expensive, you need some budget.

For those we like to use a scope:

How to Measure Current on an Oscilloscope – Low Current Probing
Using Oscilloscope Current Probes to Measure IoT Power Consumption

But this request a sensitivity current probe (differential probe). Also other scope manufacturers (R&S, Tektronics, Le Croy…) provide solutions.

Be aware that a scope probe has some capacitance which effects your measurements and also the measurement can become noisy (for ex. by coupled radiation) as @dhruvilodhavia mentioned.

Some hints: 7 Hints That Every Engineer Should Know When Making Power Measurements with Oscilloscopes

I think MLperf does some benchmarks, also for energy consumption?
MLPerf Tiny Benchmark

Regards,
Joeri

1 Like