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

ble_app_gzll Power utilization

I'd like to run the DK in at the lowest power in SYSTEM_ON mode.

It's my understanding that the ble_app_gzll example places the system in the "low power" SYSTEM_ON mode. However when measuring the current using an oscilloscope (following the DK instructions) the measured current is, on average, around 850uA when running in BLE mode and 1100mA when running in gazelle mode.

What current should I expect to see on each of the modes when using an external supply at 3.0V?

Is the ble_app_gzll the right example to place the system in low power SYSTEM_ON mode?

  • Hi

    The ble_app_gzll example is not really the best starting place for a low power application, since the state machine in Gazell mode is sending packets at a very rapid rate.

    In BLE mode the current consumption should be pretty low, at least once you have established a connection. Have you tried this?

    Another thing you can do to reduce the current draw is to enable the DCDC converter, by adding the following line at the top of main.c:

    NRF_POWER->DCDCEN = 1;
    

    Best regards
    Torbjørn Øvrebekk

  • A few more things:

    1. Do you have a better example for putting the device in SYSTEM_ON mode?
    2. Since I am measuring the current using a scope, I can see the instantaneous power too. During the non-TX time the supply current is (on average) 800uA in the BLE mode.
    3. I will try NRF_POWER->DCDCEN = 1; and report back
  • Hi

    1. All the regular BLE examples use system ON, by calling sd_app_evt_wait() whenever the application is idle. Technically the ble_app_gzll example is using system ON correctly, but in system ON mode the current consumption is dependent on which peripherals, timers, clocks and so forth are running at the time. To achieve really low system ON currents pretty much everything will have to be disabled, except for low frequency timers (the RTC peripherals) and some other low power peripherals.

    2. If the idle current in BLE mode is 800uA it means that some peripherals or timers must be running, such as the UART or one of the TIMER blocks. Otherwise you should see sleep currents of 3uA or less in between BLE events.

    3. Just let me know what you find out :)

    Best regards

Related