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

Theoretical power consumption of BLE transmission

I am currently working on a master thesis at NTNU, and are working on a sensor system based on audio collection and classification (Machine Learning). 

Power consumption is obviously very important in IoT-applications, and for that reason I am trying to figure out how much power would be consumed in this scenario:


Using an nRF52 to record an audio clip (1 second duration, 4kHz sample rate), send audio clip to some central unit through BLE, sensor back to sleep until next record/send timing.

Theoretical numbers are fine, assumptions and estimations are also fine. I have checked out the online power profile, but didnt quite understand how to properly use it, so I am looking for any guidlines.

So the "dumb" version of the question: How do I calculate how much power I spend to transfer a 15.6kB file over BLE?

Parents
  • Hello,

    Sorry for the late reply.

    Unfortunately, the answer is probably not what you hope for, but the power consumption depends on what you are doing, what peripherals you are using, and your BLE connection parameters.

    The power spent on transferring 15.6kB of payload data depends on the following:

    Your packet size, the PHY (1Mbps or 2Mbps), whether you have Data Length Extension (DLE) enabled, which also depends on your MTU.

    The PHY is fairly easy to understand. If you send with 2Mbps, you only need to use the radio half the time, which can save a great amount of power. I really recommend doing 2Mbps if the central supports this.

    If your central also supports DLE, I recommend that you use this. This means that you can send longer packets, minimizing the total number of packets. This will save you a lot of packet headers, which is quite significant for such large amount of data transfer.

     

    Do you know if your central has any of these capabilities? If not, it means that the packet length and PHY will be within the limits of the "old" online power profiler tool, and you can calculate your current consumption for the time you spend sending the file.

    You should also be aware that you can change the connection interval when you don't send the file, to save some battery. I don't know how often you intend to send these files.

     

    But remember that these power consumption is only for the radio. I don't know exactly how you measure the sound clip, but I assume that this also costs a bit of power. If you want accurate real time measurements of your power consumption, you can consider using the Power Profiler Kit. You can use it with the new nRF Connect for Desktop, and see the realtime current measurements to see that you don't have any current leakage from e.g. one of the peripherals.

     

    Best regards,

    Edvin

Reply
  • Hello,

    Sorry for the late reply.

    Unfortunately, the answer is probably not what you hope for, but the power consumption depends on what you are doing, what peripherals you are using, and your BLE connection parameters.

    The power spent on transferring 15.6kB of payload data depends on the following:

    Your packet size, the PHY (1Mbps or 2Mbps), whether you have Data Length Extension (DLE) enabled, which also depends on your MTU.

    The PHY is fairly easy to understand. If you send with 2Mbps, you only need to use the radio half the time, which can save a great amount of power. I really recommend doing 2Mbps if the central supports this.

    If your central also supports DLE, I recommend that you use this. This means that you can send longer packets, minimizing the total number of packets. This will save you a lot of packet headers, which is quite significant for such large amount of data transfer.

     

    Do you know if your central has any of these capabilities? If not, it means that the packet length and PHY will be within the limits of the "old" online power profiler tool, and you can calculate your current consumption for the time you spend sending the file.

    You should also be aware that you can change the connection interval when you don't send the file, to save some battery. I don't know how often you intend to send these files.

     

    But remember that these power consumption is only for the radio. I don't know exactly how you measure the sound clip, but I assume that this also costs a bit of power. If you want accurate real time measurements of your power consumption, you can consider using the Power Profiler Kit. You can use it with the new nRF Connect for Desktop, and see the realtime current measurements to see that you don't have any current leakage from e.g. one of the peripherals.

     

    Best regards,

    Edvin

Children
  • Thank you so much for the answer, and sorry for the late follow-up. For this project it is fair to make some assumptions about the central unit, as it does not exist in physical form yet. 

    So I have managed to cut the file size in half to 8 kB, and I make the following assumptions:
    I use BLE 5 with 500kbps PHY (this is important to get enough range).
    I have DLE enabled.

    All the time and operations outside of the actual transmission of the 8kB does not need to be considered in this calculation (done seperatly). 

    From this page (https://www.nordicsemi.com/eng/Products/Bluetooth-5) it seems I could get a throughput of 400kbps with these settings.

    This is where I get a little lost in the calculations. My naive take on it is that the radio needs to be on for 160ms to transfer the whole file, and therefore I calculate the current drawn by the radio being on for 160ms, and use that as the power consumption. 

    Some guidelines here would be great, very interested in learning more about it.

    TL;DR: Using 500kpbs PHY, DLE enabled, how to calculate how much power is used to transmit an 8kB file with BLE 5?

  • Hello,

    I don't think you will be able to use 500kbps PHY. Using an nRF Chip you will be able to receive at 500kbps, but at this point in time, you can only send at 1Mbps, 2Mbps and 125kbps.

    I don't know what sort of range you are looking at, but if you need to use the Long Range (LR) mode, then the PHY will be 125kbps. Note that this is only supported in the nRF52840, not the nRF52832. It also has to be supported by the central. Currently, this is not supported in any phones, as far as I know, and as I said, from our side, only the nRF52840 supports LR.

     

    It is difficult to say very specific how long you will have to use the radio with longer ranges, as the number of missing packets will increase, the number of retransmits will also increase (retransmits is done by the SoftDevice, so you do not have to worry about doing these, but you will not be able to turn it off).

    Here are some charts with payload throughput on 1 and 2Mbps (unfortunately not LR). 

     

    Regarding the time that the radio has to be on, I think you should look into the BLE protocol. Let us say that you want to send ~700kb of data, using the 1Mbps PHY. You will get a throughput of approx. 700kbps, so it will take approx. 1 second, but note that the radio is not on the entire time in this period.

    You can see some power consumption numbers here, but be aware that this is only when the radio is active. Usually, while you are in a connection, the radio is only turned on when needed (once every connection interval), for a short amount of time. Tweaking the link for higher performance will lead to a longer "on-time" for the radio.

     

    Best regards,

    Edvin

Related