# How to measure micro watts (uW) [duplicate]

In an extreme low power project (MCU+BLE SIP running on a CR2016 battery for year(s)) I would like to measure the power consumption under different environments/algorithms. What would be the correct way or setup to measure micro (nano ??) watts? in a short duration and over a long period of time?

The input voltage can be 3.2v - 1.7v (changes over time). I would like to eventually determine (or at least give a good estimation) to the duration a single battery would hold the device.

• The usual approach here is to add a series resistor and use this to measure the current. The trick is to size this resistor such that you can measure a volt drop while not significantly affecting the input voltage. You will need a very sensitive volt-meter for this. – Warren Hill Feb 21 at 14:16
• – Phil G Feb 21 at 14:22
• Have you seen this EEVblog video: youtube.com/watch?v=Dh0xYu8YvaE&t=0s ? It shows how to use the integration function on an oscilloscope to calculate current consumption. For measuring very small currents Dave uses his own "Micro Current". Dave also sells them or you can just build your own. – Bimpelrekkie Feb 21 at 14:30
• I am sure the OP question misses some clarifications about peaks of power consumed in events of "radio transmitting". So the problem of measuring power consumption in very wide range is still a big challenge and has no easy solution. But the question is indeed a duplicate. – Ale..chenski Feb 21 at 18:37

There are tools made for this purpose, called picoammeters. They can have resolutions down into the femto Ampere range, resolution and accuracy seem to be proportional with price. You will need a good voltage measurement too to work out power.

• Problem is that such MCU based designs have a very dynamic current consumption, like 1 uA for some minutes and then peaks up to 10 mA as the MCU activates and does operations. Usually an oscilloscope is used to measure the current over time, see the video I link to in my comment above. – Bimpelrekkie Feb 21 at 14:34
• @Bimpelrekkie the good tools have logging and graphing abilities to take care of that. – Colin Feb 21 at 14:36
• OK, with such a device then indeed it should be possible as well. – Bimpelrekkie Feb 21 at 14:45

Another option that is worth mentioning because you effectively want to integrate average current is to power the whole thing off a large capacitor that has maybe a thousandth the charge capacity of your battery cell over your designed voltage range. Charge the capacitor and write a test that demonstrates the device is working properly and simply time the discharge. Improvements to the circuit and algorithms will be reflected by a longer run-time off the capacitor and the battery.

I am building one. Started with Sparkfun Coulomb Counter, just finished layout of two PC boards. First one is the CC, reimagined to a Feather format, and the second is a daughterboard that provides a calibration mode (3V3 into a fixed load) and a battery voltage reader for the supply. It is a cumulative wattmeter. The uA/nA/pA board from EVLOG is nice, but can only give instantaneous data. If the “high power” mode is 20ms once a minute, you have to measure the current at that point and integrate over 20ms. So I can go from 3uA+3uA (uC+sensor) to 3mA+3mA for < 1ms (to turn sensor on), 3ua+3mA for ~10ms (to let sensor stabilize), then 3mA+3mA for <1ms (to read sensor) to 3uA+3uA for two minutes. Repeat. An instantaneous current reading has no value to determine mAh consumed. I plan to publish this as open source but I’m at least a month away. Note that the Sparkfun comes with a 0.050ohm sense resistor, but at very low currents you should get better results with a 1.00 ohm or 2.00 ohm sense resistor (allowing a max of 100mA or 50mA, if I recall the computations...see the LT4150 data sheet for details). The Sparkfun part has two holes you can use for your own TH sense resistor, but you have to unsolder the 0.050 ohm SMT resistor. Also, it powers itself not from the computer you are using to record the measurement but from the battery you are measuring, thus giving an incorrect rate of consumption (This should have been a jumpersvle option). Joe

• This might be a good answer, Joe, but it's too difficult to read so I don't know. Break it into paragraphs of related material. 2 x <Enter> in the markup. – Transistor Feb 21 at 18:22

I would add a small ground sense resistor, and build a precision opamp circuit to amplify the voltage across it, with a bit of analogue integration built in. (Obviously power the opamp from a lab power supply.)

Values below might well need some tweaking for your application. You need to take some care over opamp selection (low bias and offsets) and perhaps do a little cal. It also depends a bit on how much voltage across the sense resistor your design can tolerate. (There are also custom chips that do high side sensing if this is a problem.)

simulate this circuit – Schematic created using CircuitLab

Then I would use a two channel PC based aquisition card (phidgets or something like that) to log voltage and current over the discharge cycle. Pull the results into a spreadsheet and you have a fairly good picture of V/I behaviour over the cycle.

(I've had decent results with this approach investigating the charge/discharge curve of batteries.)

• A potential problem with this circuit is that it requires the input range of the op amp to go very close to ground...within microvolts. That will be difficult for a single-supply op amp, so the OP would need to use a bipolar power supply. – Elliot Alderson Feb 21 at 18:38
• well if it was a jigged up cct for test purposes you would definitely use a dual supply. Really no reason no to. In fact normally if we draw an op amp cct it is usual to assume it is dual supply unless otherwise stated. (Still worth poiting out though - thank you.) – danmcb Feb 22 at 19:09