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

How to get low current consumption nrf52840

HI

I am using this sequence functions in  my main loop for low current consumption

__SEV();  __WFE(); __WFE(); 

normally I have 13mA  in my application  when I am using those functions my current is 7.8 mA

but the velocity process get down in my main loop , using 

__SEV();  __WFE(); __WFE(); 

 for (;;)//main loop
    {
			 
          __SEV();  __WFE(); __WFE(); 
			
			caida_init();
			idle_state_handle();
			turnOnLed();
    }
  

how can I to fix that?, 

or what can I use to replace it?

is the RTOS a possible solution?

thanks and reagrds

  • Hi,

    Do you have a nRF52 development kit that you can test application on? How do you differentiate the current consumed by the nRF52 and the ICM 20948?

    Marcos Tadeo said:

    i am using ble_app_uart example , the ICM20948 is a fall detect application and I send a message by BLE when fall is detected 

    I am using both scanning and connection BLE, nrf_calendar also, 

    we detected possibly ICM20948 is the problem, because, I tested  ble app uart example with two buttons ,

    the buttons send a message over NUS, and the consumption was 1.3 mA  avg, the icm20948 manufacturer in their data sheet says the current consumption should be 1.26mA   , I measure the device and the consumption was 7mA, I will check your guide , and test again 

    1.2 mA avg current for unmodified ble_app_uart is high. Can you test unmodified ble_app_beacon example too?

    regards

    Jared 

  • HI jared 

    I tested ble_app_beacon example , and the consumption was 0.3mA thats good, i am using ble_app_uart example, what is the diference? because i tested  ble_app_uart with two gpiote interrupts I am not using the serial port tx and rx,  only to receive messages over NUS , and the consumption was 1.2mA, do I need to disable  something? is my firts time using nrf52840 xd

    regards 

  • Hi,

    The ble_app_uart example has not been power optimized. If you want to decrease current consumption, then you can adjust the advertising parameters such as the increasing the advertising interval and decreasing the TX power, you could also turn off the logger module. Here is a thread that sum up some suggestions for decreasing the current consumption for the ble_app_uart example. 

    regards

    Jared 

  • HI,

    Aah ok,  you right, I disabled  uart, from sdk_config, And now I have low  consumption, 

    but sometimes i have a error when i am using this, "snprintf" 

    memset(printf_buffer, 0x00, sizeof(printf_buffer));
    snprintf(printf_buffer, 10, "E1");
    length = strlen(printf_buffer);
    uint32_t err_code = ble_nus_data_send(&m_nus, (uint8_t *)printf_buffer, &length, m_conn_handle);

    thanks for your help 

    regards 

  • Hi,

    Could you specify what error you get? It would be great if you could share the error log? 

    regards

    Jared 

Related