Troubleshooting high sleep current

Hi everyone,

I have an nRF52832 embedded as part of a dual chip (connected via SPI) and I'm looking to reduce the sleep current as much as possible. I'm currently measuring a 2mA sleep current, which is a lot higher than I'm expecting (~1.7uA for system on sleep mode). I'm trying to troubleshoot whether the nRF52832 is at fault for this high current consumption, or whether it is the other chip that's causing the issues.

I'm attempting to run the very simple code below:

int main(void) {

  while(1) {
    nrf_pwr_mgmt_run();
  }
}

Should this code result in the 1.7uA system ON sleep mode that I'm expecting? 

If so, this would indicate that it is the other chip that's causing the problem - perhaps because its not initialised.

If I enable the SoftDevice, what functions should I run in order to put the nRF52 into system on sleep mode?

If I initialise the other chip, how can I disable SPI before going into sleep mode?

Thanks.

  • Hi,

    Do you have any peripherals enabled in your code, apart from SPI? The typical sources of this current consumption is EasyDMA + HFCLK, which is typically caused by UART enabled in RX mode, or SAADC enabled.

    If you can post your code, it would be easier to see what could cause the increased current consumption.

    There is also many cases and guides here on DevZone regarding optimization of current consumption.

    Best regards,
    Jørgen

Related