How to calculate power consumption?

Hello!

For my project I need to figure out whether I want to use an Arduino Uno combined with an HM-10 bluetooth module, or an ESP32 microcontroller which doesn't need an extra bluetooth module because it has bluetooth included. To make a choice between the two, many aspects have to be compared, one of which is the power consumption. So, my question is: how to calculate the power consumption of option 1 (Arduino Uno + HM-10) and option 2 (ESP32 microcontroller).

These are the specifications:

  1. Arduino Uno:
  • voltage: 5V
  • max. current: 200 mA (from Google)
  1. HM-10:
  • voltage: 3.5V
  • current: 50 mA
  1. ESP32 microcontroller (from AZ-Delivery)
  • voltage: 5V
  • current: 500 mA

At first I just did "P = U x I" with the values above, but I don't think that it's that easy; I am missing some important aspects out most probably.

The link for HM-10: https://amzn.to/36MJShn
The link for ESP32 microcontroller: https://amzn.to/35F6OP4

Thanks in advance!

Best way to calculate power consumption is to measure it with a current meter in a real World test.

2 Likes

I haven't bought them yet (except the Arduino Uno). I need to calculate the power consumption before making the choice of which one to buy.

I doubt a microcontroller would dissipate 2.5W (5V x 500mA) continuously. That device would need a heatsink. Maybe that 500mA draw is short time periods only?

This is from the datasheet (the current is mentioned in the third row):

Wow, not a low power microcontroller! Must be the high clock rate.

It's a powerful microcontroller, indeed.

That's got to be peak power - I doubt an ESP32 would dissipate 1.65W continuously

Just for comparison, a Raspberry Pi 4 consumes 5W max, 4W idle, but that's essentially a "Linux Box" mini PC.

In your example, I see 500mA + 50mA + 200mA (pk) = 750mA, resulting in peak power of 3.75W

That's my assumption too. The 2.5W is a lot of power over a small surface area like a microcontroller. That would get HOT.

During what condition do those data apply? Is it when the BT transmitter is active? Check up the circumstances.

The 200mA and UNO..... That figure is picked from the wrong place. Each output handles max 20 mA but all outputs can not run at that load at the same time. Max I/O current is 200 mA.

Use Arduino technical datasheet, not Google.

The processor very likely has a large belly pad that is soldered to the copper under it. That also likely has a matching large copper pour on the second side of the circuit board. The rest of the data sheet will tell you.
Therefore, the mounting of the board must allow for air flow around it.

1 Like

I plugged a bare Uno (d-i-l 328) into a simple USB meter - it registered 40-50mA at 5V (the display is in Amps, but only to two decimal places).

sounds about right

Maybe.

But then a fair bit of that current would be the USB-Serial converter on the UNO, which in a typical project might not be powered.

No. Actually.

Seem to be missing an understanding of how things actually work here!

The current ratings of the microcontroller - such as the ATmega328 - are not how much current it consumes but how much it can switch to the I/O pins.

The microcontroller does not dissipate the power corresponding to that current, only a small amount corresponding to the voltage drop that happens in the process. At 20 mA, a typical Atmega328 pin drops 500 mV, one tenth of the supply voltage.

So if it was indeed drawing 200 mA from the 5 V supply to drive outputs, and using perhaps an additional 20 mA in executing code, then its actual dissipation would be 100 mW for the code and another 100 mW for the I/O.


Unless you have a "shield" to mount on it and perform essentially all of your interfacing, a UNO is a bad choice for a project; a Nano much more practical. :thinking:

I read the 13 pages long Arduino Uno datasheet. They didn't mention currents anywhere except for 1 place:


And the mentioned currents are even higher than 200 mA, so I didn't know which value to choose for the current, and that's why I googled it.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.