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

Advertizing in low power mode

Hi,

I am developping a product with battery power. To preserve the battery life, this product needs to work in low power mode.

How can configure nRF51 to advert in low power mode ? The system must work < 10µA in low power mode.

Is there any example to put nRF51 in low power mode ?

Thanks.

Regards.

Xavier

  • Xavier, a couple of questions:

    Do you absolutely need to use an nRF51?  The nRF52 uses much less power in standby and system off.

    Will you be using a timer to wake up and advertise or just advertise at all times?

    To specifically address your question with the information you have provided, the nRF basically does its own power management.  So if it's not doing anything, it places itself in standby, which is the lowest power mode with RAM retention.  If you need to completely shut down the chip, then calling 

    sd_power_system_off(); //if softdevice is enabled
    
    NRF_POWER->SYSTEMOFF = 1; //if softdevice is not enabled

    will place it in the lowest power mode available however it can only be woken up from this state by setting by a GPIO, reset pin state change or power reset.

    For lowering power while advertising, you will need to adjust advertising timeout and interval to see what works best for your application.  Shorter time == less power and longer interval == less power.

  • Hi,

    My product is designed with the nRF51. I want advertise all times. Or if possible advertise and switch to low power mode (no system off), and wakeup and advertise again, and so on.

    Regards.

  • first you need to understand that it will be impossible to be in low power mode if you have to do a continuous advertisement. How ever, you can minimize the current consumption by reducing the advertising timeout and increasing the advertising interval just as said. Now if you want to advertise at all times, I suggest you start advertising again as soon as your advertising timeout expires and your nrf51 enters the IDLE MODE. You can also use an app_timer to trigger the advertising after a certain period still when you enter the IDLE MODE. I can help you if you share your code on what you have done.

    Regards

    Joseph Ayuk

  • Hi,

    I tried with PCA10040 different measurements. With "ble_app_hrs" example, and "ble_app_uart" example. I measure the current consumption of the board after cutting SB9 connection.

    With "ble_app_hrs", there is advertizing with a low current of 3µA with a peak during advertisement.

    With "ble_app_uart", there is advertizing with a low current of 2mA with a peak during advertisement.

    What is the difference between both applications for the low current ?

    Regards,

    Xavier

Related