nRF52 dK power consumption

Hi,

I am trying to measure the current consumption of nRF52832 using nRF52DK.  I am using STM Nucleo board. 

I made a cut on SB9 (P22 open), and gave supply on p20.1. 

The tool was not showing proper values and it looks like the MCU is not powering on. I wrote a code to switch an LED on, It works when the USB cable is connected, but not when the power is given as mentioned above. What is wrong in giving 2V at P20.1 and GND  ? The P20.1 is directly connected to the MCU and not anywhere else.

  • Hi,

    Where are you measuring the current? At the source connected to P20.1?

    The tool was not showing proper values and it looks like the MCU is not powering on.

    What current consumption are you measuring and what are you expecting?

    I wrote a code to switch an LED on, It works when the USB cable is connected, but not when the power is given as mentioned above. What is wrong in giving 2V at P20.1 and GND  ? The P20.1 is directly connected to the MCU and not anywhere else.

    The LED is not lighting up because it is powered from the main VDD net on the DK, when SB9 is cut and the nRF52832 powered directly through P20.1 the LED isn't powered. When the USB cable is connected the LEDs are fed 3V from a onboard regulator.

     

    The nRF52832DK documentation shows the recommended current measurement setups when using a ampere meter or a oscilloscope:

    https://infocenter.nordicsemi.com/topic/ug_nrf52832_dk/UG/dk/hw_measure_current.html?cp=4_2_4_4

     

    Best regards,

    Bendik

  • The LED is not lighting up because it is powered from the main VDD net on the DK,

    Sorry, my bad. Understood.

    What current consumption are you measuring and what are you expecting?

    For the below code, I expect 1 uA during systemON after 2 seconds. But I don't see that.

    int main(void)
    {
    ret_code_t err_code;

    nrf_delay_ms(2000);


    //log_init();
    while(1)
    {
    // Wait for an event.
    __WFE();
    // Clear the internal event register.
    __SEV();
    __WFE();
    }

    This is what I see. I get correct current measurements with the same setup with my other custom nRF52810 boards.

    I checked the voltage at C9 , and I can see the input voltage. 

  • I have tested this now and was able to replicate the current consumption you are measuring.

    The incorrect current consumption is caused by internal pull-ups on the SWO and SWDIO lines. This is causing leakage through the IF MCU leading to a higher current consumption. To mitigate this you can either power the DK through P21 and measure the current with an ampere meter through P22, this will power the IF MCU and the fix the leakage current. Or you can cut SB20 and SB27 and power the nRF52832 only through P20.1.

  • Hi Bendik,

    Thank you for your reply.

    Or you can cut SB20 and SB27 and power the nRF52832 only through P20.1.

    In fact I had to cut SB20, SB21, and SB26 and I get the expected result.

    But I know that I will not be able to program the board as I did before (because of the cuts made). Hence I am using another nRF52 DK board (board 2) to program this board (board 1).

    I made a connection as given below:

    board2 (debug out - p19) to board1 (debug in - p18).

    shorted P20.1 of both boards 1 & 2.

    USB connection to only board 2, and when I try to program board 1, board 2 is programmed. Why is it so ?

  • The onboard programmer on versions 2.2.0 and older of the DK uses voltage on pin 1 of P19 to detect external boards. The debug in connector ties this pin to the main VDD net on the DK. Since you are powering only the nRF52832 through the VDD_nRF net a voltage is not present on the debug in connector, this causes board 2 to not detect the external board, and continue programming the onboard nRF52832.

Related