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

Mesh reducing power consumption

Hi,

I am currently developing Bluetooth Mesh for our battery powered products which needs to be updated on demand.

I am running the Mesh light switch examples on the PCA10040 boards with the Mesh SDK 3.0.0.

I measured the current consumption of about 12mA in idle. This is quite a lot if we want to run our devices with coin cells. I know that the mesh features the friendship mode which should handle this use case. But then we have to build extra relaying devices which I think is quite complicated. If there is no other option to reduce the current, then I could also build a system which are using our devices in peripheral mode and talk to one or more centrals like a raspberry pi for example.

* I can not understand why the current is that high. Can someone explain this?

* Are there any options to reduce the current consumption? I think of choosing longer intervals for receiving and sending data.

* Assuming that the high current is based on software or software configuration. Is there any perspective that future SDK releases improve this issue?

Thanks & best regards

5IM00N

  • Hello,

    Unlike BLE (Bluetooth Low Energy), Bluetooth Mesh uses more power. The reason for this is that the mesh network is not built up of many nodes in 1-1 connections, but rather in a many-to-many network. Since there are no 1-1 connections, they don't have a connection interval to which they can turn their radio off in between. The radio is in continuous RX mode for 100% of the time, except when it is transmitting. In BLE the radio is on TX and RX only for a couple of ms each connection interval. 

    So in a mesh network, the radio is the part that draws most of the current.

    If the current consumption is too high, and Friend nodes + low power nodes is not an option for your application, then I believe that multiple 1-1 connections may be the best alternative for you.

    One nRF can have up to 20 BLE connections. I don't know how big the network you are looking at is, but you could extend the network by having e.g. 2 or 3 centrals, many peripherals. 

    Does all of the nodes in the network need to transmit data to the rest of the nodes, or are you actually just gathering data from sensor nodes?

    Best regards,

    Edvin

  • Hi Edvin,

    thanks for your reply and the detailed explanation.

    If the current consumption is too high, and Friend nodes + low power nodes is not an option for your application, then I believe that multiple 1-1 connections may be the best alternative for you.

    I currently can not estimate which network would be best. Do you know the current consumption of a LPN relative to a normal node operation?

    Does all of the nodes in the network need to transmit data to the rest of the nodes, or are you actually just gathering data from sensor nodes?

    No, they should only receive data from one GATT-berear or gateway.

    I found a solution which is using BLE with a meshing algorithm. It is called fruitymesh [1]. Do you know this and have experience with it?

    Best regards

    5IM00N

    [1] github.com/.../github-beta

  • Hello,

    It is difficult to give exact numbers, because it all depends on how often the LPN nodes wake up, but I would compare it to BLE connections. To give a number on current consumption in BLE connections is also difficult, because it also depends on the connection interval, but you can play around with the online power profiler to see what current consumption that is calculated for different advertising intervals. This should relate quite good to the LPN current consumption with the wake up interval = advertising interval (connectable advertising).

    I have not seen the fruitymesh[1] before, no, but it looks like some sort of "mesh" protocol based on multiple 1-1 connections. Fruitymesh is not something that we officially support, but it looks like it is built on our SDK, so feel free to test it. 

    If you don't rely on all the nodes receiving data from all the other nodes, then a simplified "network" may work for you. And by simplified "network" I mean just having one central and up to 20 peripherals. If you have more than 20 peripherals, you must add another central per 20 peripherals. Note that the throughput is not great when you have this many connections with one device, but it is still better than the Bluetooth Mesh throughput.

    BR,

    Edvin

  • Hi Edvin,

    thanks for the power profiler tool!

    If I have some time, I'll take a closer look at the fruitymesh. It is a pity that it is not designed for the current SDK.

    BR

    5IM00N

  • Things to consider from the hardware side to reduce power usage:

    1) Is DC-DC enabled?
    2) Are both xtals installed and enabled?
    3) Are you measuring the power consumption of only the nRF52 or also something else at the same time?
    4) Is your current measurement device properly calibrated and suitable for measuring currents at this level?

    From the software side, besides the low power and friendship modes, according to https://devzone.nordicsemi.com/b/blog/posts/introducing-nrf5-sdk-for-mesh, it is possible to control the scanning interval and duty cycle to reduce power usage.

Related