This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Low power on the nRF9160

Hi, 

I recently designed a prototyping board featuring the nRF9160, which we got made for a couple of reasons. 

  • To have multiple boards to test with
  • Potential to have multiple engineers working with them
  • Long term testing of potential products
  • To see if our production equipment could successfully populate such a small device. 

The good news is, we successfully managed to populate a panel, and all 8 of the PCBs are are programmable. No short circuits between pins on the device that can be seen under a microscope. As its an LGA component, there is a chance that there could be shorts underneath the board, but we do not own x-ray inspection equipment to be able to see this. 

The main idea for our prototype board is a datalogger, that sends data periodically over LTE networks using MQTT, so low power is an absolute must. I noticed when using our current code we  see constant currents of around 3mA at its lowest, even when its in Power Saving Mode (PSM). So I looked into this a bit more thoroughly.  

I saw this question posted below, and tried to recreate his code, following an example through a link he posted. I also tried multiple different things with the GPIO configuration - ended up making them all high-z. 

https://devzone.nordicsemi.com/f/nordic-q-a/63745/lowering-the-power-consumption-of-nrf9160-mqtt_simple-ncs-1-3-0

Even when running this code, I was seeing about 2.7mA constant current. So around 500x more than expected. 

Ok, so now I thought I must've messed up something on the design, so I take off the 3V regulator circled in the schematic, and removed the pullup resistors on the SDA/SCL lines, so  the only thing being powered is the nRF9160. I now get 2.61mA

Is there something fundamentally wrong with my schematic to get into a low power idle state? Could the reserved pins underneath the package cause a high constant current if shorted together somewhere? Is the code missing anything to be in low power?

Schematic and code below

/*
 * Copyright (c) 2018 Nordic Semiconductor ASA
 *
 * SPDX-License-Identifier: LicenseRef-BSD-5-Clause-Nordic
 */

#include <zephyr.h>
#include <stdio.h>
#include <drivers/uart.h>
#include <string.h>
#include "hal/nrf_gpio.h"

/**@brief Recoverable BSD library error. */
void bsd_recoverable_error_handler(uint32_t err)
{
	printk("bsdlib recoverable error: %u\n", err);
}

void main(void)
{	
	for(int i=0;i<32;i++){
		nrf_gpio_cfg_input( i, NRF_GPIO_PIN_NOPULL);
	}

	NRF_UARTE0->ENABLE = 0;
    NRF_UARTE1->ENABLE = 0;
    
	k_sleep(K_SECONDS(6));

	k_cpu_idle();
}

Thanks, 

Damien

  • Try to re-run the test witout setting the GPIOs.Remove the foolwing, or sett to high. When you have the external pull up then they do not need to be set to no pull.
        for(int i=0;i<32;i++){
            nrf_gpio_cfg_input( i, NRF_GPIO_PIN_NOPULL);
        }

    And power off the board propperly before testing just to make sure everything is discharegd.

    Is your COEX pins only connected to test points?

    The UDP sample is also usabel for current mesaurments, it puts the device in sleep at once.

    There is no known issue ith the mfw, so tat should be fine. And i belive the issue with incorectly going in to low poer is due to a low supply voltage, but you are vell within the limit of 3.3V

    Regards,
    Jonathan

  • Yea I have since taken that out as it seemed to make current consumption worse. 

    COEX pins were just wired to test points as I didn't see the use for them. One was used to enable GPS antenna on the DK, the other 2 weren't used. So used test points so if I found we did in fact need them, we could make a connection to something.

    Looks like I found out where the 96uA was coming from. On the battery measuring circuit it looks like I was actually enabling the LMV341. I added -

    nrf_gpio_cfg_input(21, NRF_GPIO_PIN_PULLDOWN);
    at the start and I observe 4uA constant current. 
    I have just tried out the UDP sample, and when its in Low power state, I see ~40uA constant current. 
    Thank you for your help!
    Damien
  • Great new Damien! Thanks for the updating us. 

    Regards,
    Jonathan

Related