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

nrfmesh high current comsunption on IDLE

On nrf52832 and nRF5 Mesh1.0.0

When running idle state(not RX/TX), current comsumption is over 400uA.

And every 100ms, CPU is wake up.(small working.)

What happen?

  • Well, you haven't given us a lot to go on but here is one guess: Perhaps you have a TIMER peripheral and the HF clock running? That would get you pretty darn close to 400uA.

    What peripherals are you using? Are you sure you are disabling them or turning them off if you can? What current are you expecting?

  • I don't know how work TIMER / HF clock on nrfmesh. I expect under 100uA on IDLE.

    I guess, always nrfmesh use timeslot, which RX/TX is used.

    Add, my environment is

    nrf52832 module (no-famous).

    SoftDevice S132 5.1.0

    SDK14.2

    nrf mesh 1.0.0 porting for SDK14.2

    FreeRTOS environment

    I try,

    example/ble_app_beacon : current comsumption is 100uA.

    FreeRTOS environment without nrf mesh : current comsumption is 100uA.

    1. Are you using an example or your own application when you measure this?
    2. As John DeWitt mentions, the 400uA is most likely the HF clock that is running. And there might be many reasons for that (both intentional and unintentional ones). So then the question is: what kind of peripherals are you using? You should go through the errata list and check whether there is something that is relevant to your application.
  • I use FreeRTOS and BSP's(LED and button).

    So, RTC1/GPIO/GPIOTE.

    And

    Another problem, (every 100ms wakeup)
    
    I try nrf5_SDK_for_Mesh_v1.0.0_src/examples/beaconing.
    
    Modified,
    1. main.c: beacon interval change to 5000ms.
    2. nrf_mesh.c:nrf_mesh_enable() scanner_enable() is comment out.(not scan)
    
    When run the program on my nrf52832 board,
    Every 100ms, NRF_RADIO_CALLBACK_SIGNAL_TYPE_TIMER0 event occured.
    Timeslot request and ranges from 100 us to 100 ms.
    So that, nrf mesh is wakeup every 100ms, Whether scanner enable or disable.
    And increase a little current comsumption.
    Is this really?
  • Yes, the mesh stack uses the timeslot API. The timeslot API uses a timer and this requires the HF clock to be running at all times. This is the reason for the relatively high current consumption. 

Related