Bluetooth mesh: How to reduce the power consumtion.

Dear all,

I am developing a bluetooth mesh sensor with the NRF52833 and NRF Connect SDK.

The sensor is battery powered. So the power consumtion must be as low as posible.

My sensor have two working mode: Normal and Sleep.

In Sleep mode, the current is about 3uA.

In Normal mode, the current is from 11 to 12 mA with the node is provisioned.

So I want to know which configuration affect the current of a SOC run bluetooth mesh.

Best regards.

  • Hi

    By default, a Bluetooth Mesh node is pretty power hungry, and to run it at lower power you need to use the concept of Friendship in Mesh, where a low power node is connected to a Friend node, allowing it to communicate at a pre-defined interval (similar to a standard BLE connection). Here's some more information on the Bluetooth Mesh models available in the nRF Connect SDK.

    This requires that you also have another node in your Mesh network somewhat nearby the low power node that is not restricted to this low power mode though. If that's not possible either then a Mesh network might not be what you're looking for. This depends on what your end use case is though.

    Best regards,

    Simon

  • Dears,

    Thank you for your prompt response.

    This requires that you also have another node in your Mesh network somewhat nearby the low power node that is not restricted to this low power mode though

    Yes, I have nodes that could be used as friend nodes. But I do not know how to properly do that.

    Can you provide an intruction for implementing friend nodes and low power nodes?

    Best regards.

  • Dears,

    Update that I have a Node config as Low power node and another node become friend node.

    And the Low power node current in sleep mode is about 1mA.

    It still quite high.

    In theory, can I get a lower current in Low power node?

    Best regards.

  • Hi

    To start up a low power node you need to add the following configs in your projects config file: 

    CONFIG_BT_MESH_LPN_AUTO

    CONFIG_BT_MESH_LPN_AUTO_TIMEOUT

    CONFIG_BT_MESH_LPN_RETRY_TIMEOUT

    You can for example add it to the Mesh light switch sample project, but we don't have a specific sample project for friend or low power nodes in the nRF Connect SDK yet. It should indeed be possible get the sleep current way below 1mA, are you able to set it up with a friend node correctly, so that it can actually go to sleep, and how do you put it to sleep after the friend node is configured?

    Best regards,

    Simon

  • Dears, 

    Thank for your prompt response

    are you able to set it up with a friend node correctly

    Yes, I think my setting is correct. I had a node that enable friend feature. And in the LPN node, I saw there is log that said the friend ship is established. And when I get the status of the sensor model of the LPN node, the app must wait for sometime before it could get the data.

    how do you put it to sleep after the friend node is configured

    This is new, I do not know if I must put the LPN to sleep after friend ship established.

    Currently, my solution is not use the LPN feature, but put the device into sleep mode and wake up via GPIOs.  

    const struct pm_state_info si = {PM_STATE_SOFT_OFF, 0, 0};
    pm_state_force(0, &si);

    I already disable Relay feature, Proxy feature.

    I wonder, why the bluetooth mesh uses so much current, even when it not transmit any thing?

    Is that because of the bluetooth mesh node must always be listening to other node.

    My device is not required to listen to any message.

    So can I turn off the bluetooth scan for lower current consumtion?

    Best regards.

Related