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

nRF52832 power consumption issue in system off mode

Hi,

I have power consumption issue about nRF52832 BLE application.

I found "Current consumption:Ultra-low power" informations in "nRF52832 Product Specification" as below


then I use "sd_power_sleep_off" enter system off mode after BLE stop advertisting.

But I cannot get uA current consumption.I have about 1mA current consumption,I don't know what's happened???

By the way, while I enter sleep mode before, I will disable TWI(nrf_drv_twi_disable) and release used GPIO(nrf_gpio_cfg_default).

My app is based on nRF5 SDK v16.0.0,s132 7.0.1 and use all BLE default configuartions.

Thanks!!

  • Hi

    This sounds very much like your device is in debug mode. Emulated system OFF, which will run in debug mode, will not give the expected result in terms of power consumption. If you make sure that DEBUG is not set in your preprocessor definitions, and you power cycle your device, it should go out of debug mode.

    Best regards,

    Simon

  • Hi Simonr,

    Could you tell me how to exit debug mode??

    And how to check it??

    Thanks!!

    BR,

    Mike

  • Depending on what IDE you're using for development this may vary, but in SEGGER Embedded Studios you will have to remove the DEBUG define from the preprocessor definitions. See the picture below for reference. Please note that you need to make sure that the Common configuration should be used, so make sure that it is.

    After this is done, build and run the application onto your device and power cycle your device (remove all power sources to make sure that it is properly off) before restarting it yet again.

    Best regards,

    Simon

  • Hi Simonr,

    I follow your setting as below

    But my device current consumption is same about 1mA.

    I use blinky example(examples\peripheral\blinky\) testing system off mode.

    Because I think this code is clean code.

    My code as below

    #include <stdbool.h>
    #include <stdint.h>
    #include "nrf_delay.h"
    #include "boards.h"
    
    /**
     * @brief Function for application main entry.
     */
    int main(void)
    {
        NRF_POWER->SYSTEMOFF=1;
        /* Configure board. */
        //bsp_board_init(BSP_INIT_LEDS);
    
        /* Toggle LEDs. */
        /*while (true)
        {
            for (int i = 0; i < LEDS_NUMBER; i++)
            {
                bsp_board_led_invert(i);
                nrf_delay_ms(500);
            }
        }*/
    }

    There is anything I ignore??

    Thanks!!

    BR,

    Mike

  • Hi again

    Please try to flash the following code onto your board:

    int main(void){
        NRF_POWER->SYSTEMOFF = 1;
        for(;;){}
    }

    This should make the chip consume ~300nA.

    Please confirm that you power cycle the board after you have flashed the application onto your device (remove all power sources to make sure that it is properly off) before restarting it yet again.

    Can you provide some details on the following:

    • Are you measuring this current consumption on a nRF52 DK or a custom board? If it's a custom board, make sure that you disconnect the debugger from the device during the power cycling procedure.
    • How exactly are you measuring the current consumption? Are you using a PPK, multimeter, or some other measurement equipment?

    Best regards,

    Simon

Related