This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Current Consumption test on custom board using PPK

I am using PPK 1.1.0 to compute current draw on a custom hardware.

If I upload ble_app_hrs example on the nRF52-DK and measure it directly, I obtain average reading as 550 uA.

However, running the same application on my custom board yields 1.2 mA of current draw.

The custom board uses Raytac modules: MDBT42 and MDBT42V, and is powered using External DUT connector with SW2 set as External and SW4 set as Regulator.

Do you have any insights on this huge current draw?

Thank you.

Parents
  • Hey Rishi,

    1. Do you have any other circuits and devices on your custom PCB that can draw additional current?
      If this is the case then you need to electrically isolate the module from the rest of your board when measuring the current.
    2. Have you enabled any pull-ups, etc, on the module?
      If this is the case then you need to disable the pull-ups/downs before measurements.
    3. Are you running the example as provided or have you made any modification for your custom PCB?
    4. Can you show us your schematics and/or Layout files?

    Cheers,

    Håkon.

  • Hey Hakon,

    I have isolated the problem. I have a LIS2DH12 accelerometer in my design. Assembling this accelerometer along with three by-pass capacitors (0.1 uF, 0.1 uF, 10 uF) and two pull-up resistors (10K each) for SDA and SCL lines, increases the current consumption to 7 mA.

    Removing the pull-up resistors does not reduce the current consumption value either.

    I am not even using or enabling the accelerometer. It is just being powered by the VDD rail. I am running ble_app_hrs example.

    Any suggestions, what are the possible sources of this huge rise in current?

    Thanks.

Reply
  • Hey Hakon,

    I have isolated the problem. I have a LIS2DH12 accelerometer in my design. Assembling this accelerometer along with three by-pass capacitors (0.1 uF, 0.1 uF, 10 uF) and two pull-up resistors (10K each) for SDA and SCL lines, increases the current consumption to 7 mA.

    Removing the pull-up resistors does not reduce the current consumption value either.

    I am not even using or enabling the accelerometer. It is just being powered by the VDD rail. I am running ble_app_hrs example.

    Any suggestions, what are the possible sources of this huge rise in current?

    Thanks.

Children
  • Hey Rishi,

    My first thought is that there is a short circuit somewhere, either the LIS2DH12  footprint is wrong, the LIS2DH12 is mounted wrong, or the LIS2DH12 has an internal short circuit due to damage from ESD or kinetic impact. I suggest you write a simple application that tries to communicate with the LIS2DH12. If you are unable to read the device ID given the correct commands and a verified I2C communication, then the LIS2DH12 operating out of spec in some way or another.

    FYI: The nRF5 series SoCs have internal 13k pull-up/downs available on each GPIO so I believe you do not need external pull-ups on the SDA and SCL lines. 

    Cheers,

    Håkon.

  • Thanks. I shall perform the suggested tests and get back to you with my observations.

  • Hey Hakon,

    On performing various tests, I found out that the accelerometer along with Lipo charging IC is responsible for huge current draw. I should  be able to reduce the current by fixing these issues.

    Additionally, I am trying to understand the current consumption of nRF52-DK during advertising period. Using the ble_app_pwr_profiling example, I am measuring the current consumed in connectable mode. 

    I have reduced the connectable advertising period to 1 second by making following changes:

    #define CONNECTABLE_ADV_INTERVAL        MSEC_TO_UNITS(200, UNIT_0_625_MS)
    
    TO
    
    #define CONNECTABLE_ADV_INTERVAL        MSEC_TO_UNITS(1600, UNIT_0_625_MS)

    The current draw on starting the application is only 1 uA to 2 uA due to System-Off sleep mode. However, when Button 1 is pressed, the device enters connectable advertising mode. In this mode the current is approximately 750 uA during advertising bursts.

    Are these values expected? Can you please explain why such huge values are expected?

    Can you tell me any other area where I can make changes and bring the current further down.

    Thank you.

  • I expect 131µA average for advertisements at 100ms intervals with a 27 byte payload. Check out our online power profiler at: https://devzone.nordicsemi.com/power/ 

    You should definitely get way less than 750µA at 1600ms intervals. 

  • I see. 

    Can you please perform a basic test using the stock ble_app_template example from SDK14.2 using nRF52832 DK and tell me the recorded current consumption using PCA63511 Power Profiler Kit

    Also, can you tell me the parameters that I can tune to reduce the current consumption in that example?

    Thank you.

Related