nRF52 current consumption differences between datasheet and Power Profiler II

Hello,

We are using the nRF52840 on our own board.

When I added up the current consumption at 3V, based on the datasheet, I get 14.3mA (CPU from RAM, Tx at 0dBm 1Mbps, ADC, Timer at 16MHz).

So at 3V, this should be 42.9mW.

For my design, I am using VDDH, and a LiPoly battery (up to 4.2V).  But for the current consumption test, I used a bench supply set to 4.1V and your Power Profiler II.

For 42.9mW, and at 4.1V based on the datasheet, I should be getting 10.5mA (assuming perfect DCDC)

However, with the Power Profiler II, I am reading 6.3mA average (over 10 sec) and peak of 10.6mA.

Why would I see such a large difference?  Is the current consumption in the datasheet an average current or peak current?  Just trying to understand where the difference is coming from.

Sincerely,

Vinson Go, Duke University

Parents
  • Hello Vinson,

    There are a few factors to consider here.

    When I added up the current consumption at 3V, based on the datasheet, I get 14.3mA (CPU from RAM, Tx at 0dBm 1Mbps, ADC, Timer at 16MHz).

    What items specifically did you add up? We might want to check for anything that is added twice.

    Most notable is consumption from the clock system. The numbers in the Current consumption section each already account for the clock, so simply adding them will count the clock multiple times.

    For 42.9mW, and at 4.1V based on the datasheet, I should be getting 10.5mA (assuming perfect DCDC)

    However, with the Power Profiler II, I am reading 6.3mA average (over 10 sec) and peak of 10.6mA.

    Why would I see such a large difference?  Is the current consumption in the datasheet an average current or peak current?  Just trying to understand where the difference is coming from.

    There is indication here that the peak current reading checks out with your peak measurement. But to be sure, we need to understand what your application does. Could you give some brief summary of what is running, at which configuration? If you can also provide a PPK log, we can dive into it and see if things make sense.

    Best regards,

    Hieu

Reply
  • Hello Vinson,

    There are a few factors to consider here.

    When I added up the current consumption at 3V, based on the datasheet, I get 14.3mA (CPU from RAM, Tx at 0dBm 1Mbps, ADC, Timer at 16MHz).

    What items specifically did you add up? We might want to check for anything that is added twice.

    Most notable is consumption from the clock system. The numbers in the Current consumption section each already account for the clock, so simply adding them will count the clock multiple times.

    For 42.9mW, and at 4.1V based on the datasheet, I should be getting 10.5mA (assuming perfect DCDC)

    However, with the Power Profiler II, I am reading 6.3mA average (over 10 sec) and peak of 10.6mA.

    Why would I see such a large difference?  Is the current consumption in the datasheet an average current or peak current?  Just trying to understand where the difference is coming from.

    There is indication here that the peak current reading checks out with your peak measurement. But to be sure, we need to understand what your application does. Could you give some brief summary of what is running, at which configuration? If you can also provide a PPK log, we can dive into it and see if things make sense.

    Best regards,

    Hieu

Children
  • The CPU is running at 64MHz with a 32MHz crystal.

    When everything is streaming, we are running the ADC at 132kSps scanning over 4 channels, manipulating the data some, then packing the data into the payload of the BT packet.  The BT is running at 2Mbps transmitting (streaming) at 0dBm.

    If you mean PPK is the Power Profiler, I do have some logs.

    Before streaming, 3.9V input, avg current is 4.4mA

    During streaming, 3.9V input, avg. current 6.5mA avg.

  • This is a little complicated to go about.

    First of all, the PPK has a limitation where if the voltage cross between two of its measurement ranges, the measured value is overshot a lot, creating a false spike. This affects our ability to evaluate the maximum current with it.

    Next, to tell what happen in a PPK log, you will need to know the application at even higher level of detail.
    Examples include, but not limited to:

    • Does CPU go into idle between events?
    • Is there any BLE activity at all?
      • If advertising is running, what is the advertising interval?
      • If connection is running, even if no data is transmitted, what is the connection interval?
    • Does the timer configured to trigger an interrupt?

    For evaluating the power consumption of applications, I think the best way to go about this is to start with something very bare and slowly add the features in.

    If you already have a complex application, the starting point then would be to comment out most feature until you achieve the expected System ON Idle current level.

    I haven't asked which SDK you use, but if you are on the nRF Connect SDK (NCS) and have a fairly simple application, then I recommend starting with the Hello World sample.
    Simply disabling UART with CONFIG_SERIAL=n will give you System ON Idle.

    As a side note to this, the Power Profiler app can store a measurement in a file for future review. There is a Save button in the left panel.

    Finally, I just want to highlight again the fact that simply adding the current in the Current Consumption section does not give you a correct estimation, because things like CPU, high frequency clock, and EasyDMA would be counted multiple times.

Related