geerlingguy / sbc-reviews

Jeff Geerling's SBC review data - Raspberry Pi, Radxa, Orange Pi, etc.
MIT License
350 stars 9 forks source link

Choosing a better power consumption monitoring solution #29

Open geerlingguy opened 7 months ago

geerlingguy commented 7 months ago

For the past few years, I've used a P3 Kill-A-Watt that I bought in 2010 for every single power consumption rating/test, for everything from my monster Ampere servers to the tiny Raspberry Pi SBCs.

For microcontrollers I've settled on a DoTheDIY CurrentWave but if I consider myself beginner-level with low-level understanding of SBCs, I am infant-level with my low-level understanding of microcontrollers. So I won't think about sub-100 mA power measurement in this issue.

As my testing has gotten a bit more robust, the need to have a better power measurement setup has increased. On the Pi 5, my testing showed 3W idle with the 5V/3A Pi power supply, and 1.8W idle with the 5V/5A power supply. But sometimes the idle power would show at 3.1W.

The problem is not only that the Kill-A-Watt can be inconsistent (maybe +/- 1W? Their site says "0.2% Accuracy" whatever that means :), but it is also not as simple to measure power in a consistent way with various power supplies. Some adapters are more lossy than others.

I would love to find a good solution that can fit the following criteria:

  1. Can measure current power consumption in Watts and has a nice display
  2. Has some way of logging power consumption (or is accessible in a way I can get at the data digitally).
  3. Can measure 120V AC mains power consumption
  4. Can measure 12V DC power consumption
  5. Can measure USB-C PD power consumption
  6. Can measure USB-C/USB-A/micro USB 5V power consumption (non-PD)

There are a few things I know could do two or three of those things well, but I haven't seen a good quality product that could check all those boxes. I may be willing to give on one or two, the key would be making it easy for me to get reliable results when running tests like Geekbench, HPL, and other loads. (Especially being able to easily calculate averages... right now it consists of me recording video, then grabbing and manually averaging values every 5 or 10 seconds over the course of a test run.)

Nice to haves include lower cost, measurement of other things that are handy to know like power factor, and able to show up on camera well (I like the 'real' feeling you get when you see a meter on screen, not just a boring chart).

geerlingguy commented 7 months ago

I know I've seen the Extech 380803 appear a number of times on the Serve The Home channel.

71xxS2Dm0iL _AC_SL1055_

But that is a bit large (though I may consider a benchtop unit that could stack up with a power supply, that sort of thing).

ThomasKaiser commented 7 months ago

As already mentioned a while ago: https://github.com/geerlingguy/sbc-reviews/issues/2#issuecomment-1420561106 though meets only your requirements 2) and 3)

In the SBC world I use it for mW stuff like this and with servers at day job I wrote a Check_MK plugin so new equipment will be tested upfront also wrt consumption and with servers a comparison done how the internal BCM's power monitoring reflects reality.

I needed something that can be read directly (NetIO provides a couple of protocols) and back at the time when we bought our first NetIO PowerBoxes and PowerCable Hardkernel's SmartPower3 had no firmware support for such things (came then at the same time I finished Check_MK support for NetIO).

When I have more spare time I'll buy a SmartPower3 and add support for it as well to sbc-bench, even in 'dual mode' so using a NetIO thingy at the wall + SmartPower3 between power brick and device PSUs can also be tested for efficiency. :)