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

NRF9160 Low power

Hi, I am strugling to get the power comsumption down to the number I have been reading on this forum. I followed the instruction of the dev kit manual. When measuring the current, the switch is in NRF only position.

Now, this blog post claims 7µA. The best I have achieved to this day is ~500µA using the sample here.

As far as I understand, the power on the 9160 is automatically handled by the ship (PMU?). That means very little is needed to lower current appart from not making the CPU active.

I did try to load a firmware that does nothing; A while loop with k_cpu_idle() with NRF_UARTE0_NS->TASKS_STOPRX = 1 to disable the UARTE rx and I am still seeing a lot of power drawn (order of mA). I also suspect that the cpu get awaken every 5 seconds by something.

Are you able to measure such a low power consumption internally with the latest firmware (the modem fw and dk are outdated)? 

If so, do you have any recommendation as to how to pinpoint where the power is used (gdb, probing pins.. etc)?

Parents
  • Seems iBasis does not support PSM. At least according to https://devzone.nordicsemi.com/f/nordic-q-a/48641/psm-tau-and-at/196848#196848

    I made some tests and none of the PSM parameters I tried worked:

    [00:00:07.919,403] <dbg> at_cmd.at_write: Sending command AT+CEREG=5
    [00:00:07.926,544] <dbg> at_cmd.socket_thread_fn: Received command: OK
    
    [00:00:07.939,758] <dbg> at_cmd.at_write: Sending command AT+CPSMS=1,,,"00000001",
    [00:00:07.949,005] <dbg> at_cmd.socket_thread_fn: Received command: OK
    
    [00:00:09.968,811] <dbg> at_cmd.at_write: Sending command AT+CEREG?
    [00:00:09.976,043] <dbg> at_cmd.socket_thread_fn: Received command: +CEREG: 5,5,"7789","01039801",7,,,"11100000","11100000"
    
    [00:00:11.000,030] <dbg> at_cmd.at_write: Sending command AT+CPSMS=1,,,"00100001",
    [00:00:11.016,906] <dbg> at_cmd.socket_thread_fn: Received command: OK
    
    [00:00:13.031,280] <dbg> at_cmd.at_write: Sending command AT+CEREG?
    [00:00:13.046,875] <dbg> at_cmd.socket_thread_fn: Received command: +CEREG: 5,5,"7789","01039801",7,,,"11100000","11100000"
    
    [00:00:14.070,343] <dbg> at_cmd.at_write: Sending command AT+CPSMS=1,,,"01000001",
    [00:00:14.087,127] <dbg> at_cmd.socket_thread_fn: Received command: OK
    
    [00:00:16.101,593] <dbg> at_cmd.at_write: Sending command AT+CEREG?
    [00:00:16.117,340] <dbg> at_cmd.socket_thread_fn: Received command: +CEREG: 5,5,"7789","01039801",7,,,"11100000","11100000"
    
    [00:00:17.140,655] <dbg> at_cmd.at_write: Sending command AT+CPSMS=1,,,"01100001",
    [00:00:17.157,501] <dbg> at_cmd.socket_thread_fn: Received command: OK
    
    [00:00:19.171,905] <dbg> at_cmd.at_write: Sending command AT+CEREG?
    [00:00:19.187,652] <dbg> at_cmd.socket_thread_fn: Received command: +CEREG: 5,5,"7789","01039801",7,,,"11100000","11100000"
    
    [00:00:20.210,998] <dbg> at_cmd.at_write: Sending command AT+CPSMS=1,,,"10000001",
    [00:00:20.219,635] <dbg> at_cmd.socket_thread_fn: Received command: OK
    
    [00:00:22.234,436] <dbg> at_cmd.at_write: Sending command AT+CEREG?
    [00:00:22.250,030] <dbg> at_cmd.socket_thread_fn: Received command: +CEREG: 5,5,"7789","01039801",7,,,"11100000","11100000"
    
    [00:00:23.273,468] <dbg> at_cmd.at_write: Sending command AT+CPSMS=1,,,"10100001",
    [00:00:23.281,951] <dbg> at_cmd.socket_thread_fn: Received command: OK
    
    [00:00:25.296,905] <dbg> at_cmd.at_write: Sending command AT+CEREG?
    [00:00:25.312,561] <dbg> at_cmd.socket_thread_fn: Received command: +CEREG: 5,5,"7789","01039801",7,,,"11100000","11100000"
    
    [00:00:26.335,968] <dbg> at_cmd.at_write: Sending command AT+CPSMS=1,,,"11000001",
    [00:00:26.353,820] <dbg> at_cmd.socket_thread_fn: Received command: OK
    
    [00:00:28.367,218] <dbg> at_cmd.at_write: Sending command AT+CEREG?
    [00:00:28.374,450] <dbg> at_cmd.socket_thread_fn: Received command: +CEREG: 5,5,"7789","01039801",7,,,"11100000","11100000"
    
    [00:00:29.398,468] <dbg> at_cmd.at_write: Sending command AT+CPSMS=1,,,"11100001",
    
    [00:00:31.429,718] <dbg> at_cmd.at_write: Sending command AT+CEREG?
    [00:00:31.436,950] <dbg> at_cmd.socket_thread_fn: Received command: +CEREG: 5,5,"7789","01039801",7,,,"11100000","11100000"

    Are you in contact with iBasis? Do you know if they are planning on supporting the PSM/eDRX mode soon?

Reply
  • Seems iBasis does not support PSM. At least according to https://devzone.nordicsemi.com/f/nordic-q-a/48641/psm-tau-and-at/196848#196848

    I made some tests and none of the PSM parameters I tried worked:

    [00:00:07.919,403] <dbg> at_cmd.at_write: Sending command AT+CEREG=5
    [00:00:07.926,544] <dbg> at_cmd.socket_thread_fn: Received command: OK
    
    [00:00:07.939,758] <dbg> at_cmd.at_write: Sending command AT+CPSMS=1,,,"00000001",
    [00:00:07.949,005] <dbg> at_cmd.socket_thread_fn: Received command: OK
    
    [00:00:09.968,811] <dbg> at_cmd.at_write: Sending command AT+CEREG?
    [00:00:09.976,043] <dbg> at_cmd.socket_thread_fn: Received command: +CEREG: 5,5,"7789","01039801",7,,,"11100000","11100000"
    
    [00:00:11.000,030] <dbg> at_cmd.at_write: Sending command AT+CPSMS=1,,,"00100001",
    [00:00:11.016,906] <dbg> at_cmd.socket_thread_fn: Received command: OK
    
    [00:00:13.031,280] <dbg> at_cmd.at_write: Sending command AT+CEREG?
    [00:00:13.046,875] <dbg> at_cmd.socket_thread_fn: Received command: +CEREG: 5,5,"7789","01039801",7,,,"11100000","11100000"
    
    [00:00:14.070,343] <dbg> at_cmd.at_write: Sending command AT+CPSMS=1,,,"01000001",
    [00:00:14.087,127] <dbg> at_cmd.socket_thread_fn: Received command: OK
    
    [00:00:16.101,593] <dbg> at_cmd.at_write: Sending command AT+CEREG?
    [00:00:16.117,340] <dbg> at_cmd.socket_thread_fn: Received command: +CEREG: 5,5,"7789","01039801",7,,,"11100000","11100000"
    
    [00:00:17.140,655] <dbg> at_cmd.at_write: Sending command AT+CPSMS=1,,,"01100001",
    [00:00:17.157,501] <dbg> at_cmd.socket_thread_fn: Received command: OK
    
    [00:00:19.171,905] <dbg> at_cmd.at_write: Sending command AT+CEREG?
    [00:00:19.187,652] <dbg> at_cmd.socket_thread_fn: Received command: +CEREG: 5,5,"7789","01039801",7,,,"11100000","11100000"
    
    [00:00:20.210,998] <dbg> at_cmd.at_write: Sending command AT+CPSMS=1,,,"10000001",
    [00:00:20.219,635] <dbg> at_cmd.socket_thread_fn: Received command: OK
    
    [00:00:22.234,436] <dbg> at_cmd.at_write: Sending command AT+CEREG?
    [00:00:22.250,030] <dbg> at_cmd.socket_thread_fn: Received command: +CEREG: 5,5,"7789","01039801",7,,,"11100000","11100000"
    
    [00:00:23.273,468] <dbg> at_cmd.at_write: Sending command AT+CPSMS=1,,,"10100001",
    [00:00:23.281,951] <dbg> at_cmd.socket_thread_fn: Received command: OK
    
    [00:00:25.296,905] <dbg> at_cmd.at_write: Sending command AT+CEREG?
    [00:00:25.312,561] <dbg> at_cmd.socket_thread_fn: Received command: +CEREG: 5,5,"7789","01039801",7,,,"11100000","11100000"
    
    [00:00:26.335,968] <dbg> at_cmd.at_write: Sending command AT+CPSMS=1,,,"11000001",
    [00:00:26.353,820] <dbg> at_cmd.socket_thread_fn: Received command: OK
    
    [00:00:28.367,218] <dbg> at_cmd.at_write: Sending command AT+CEREG?
    [00:00:28.374,450] <dbg> at_cmd.socket_thread_fn: Received command: +CEREG: 5,5,"7789","01039801",7,,,"11100000","11100000"
    
    [00:00:29.398,468] <dbg> at_cmd.at_write: Sending command AT+CPSMS=1,,,"11100001",
    
    [00:00:31.429,718] <dbg> at_cmd.at_write: Sending command AT+CEREG?
    [00:00:31.436,950] <dbg> at_cmd.socket_thread_fn: Received command: +CEREG: 5,5,"7789","01039801",7,,,"11100000","11100000"

    Are you in contact with iBasis? Do you know if they are planning on supporting the PSM/eDRX mode soon?

Children
Related