This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Data rate vs power consumption vs latency

Hi. We're looking at nordic modules for a range of new miniaturized health sensors.

Does anyone know how to compute the current consumption of a BLE module given the data rate and latency? It seems there are too many parameters to this question and we can't risk months of development time trying to figure it out experimentally. There seems to be much confusion out there, some platforms (iphone) limit ble data rate to less than theoretically possible, and some modules limit you to using RFCOMM which has drawbacks and performance penalties. We know that it's possible to connect and send multiple packets (up to 6 at a time), but there are reports that when this is done, the theoretical increase in bandwidth is not achieved.

  • I'd recommend you to take a look at this question for information on how to calculate throughput for a BLE link. Also be aware that profiles with BLE is very different from Classic Bluetooth. Take a look at this question for more details.

    In the S110 SoftDevice specification there are power profiles for an advertising event and a connection event that you can use in combination with number from the PS if you want to run manual calculations. When advertising, there will be one advertising event per advertising interval, and while in a connection there will be a connection event for each connection interval. As you can see, the connection event is essential component of calculating both throughput, latency and current consumption, and should be chosen with care. You may also have use in taking a look at this for further details on connection parameters.

    We have a tool internally that we use to do current consumption calculations, so if you want, I can run your numbers through that.

    To do a good calculations, I need to know

    • advertising interval
    • connection interval
    • data throughput
    • whether you plan to use an 32 kHz crystal, and if so its precision

    If you edit your question supplying this, I'll extend this answer with calculation results, of if you have details you don't want to share here, feel free to create a regular support case, making sure to include those numbers.

  • What does the advertising interval affect? I am ok with having a BLE connection take 10 seconds to establish. I am ok with this being possible only at a certain point in time (ex. a button is pressed on the transmitting device). Other than that I need a throughput of 4096 bytes per second, max latency 250 ms, not sure about the crystal, I can have it of any sort needed to accomplish the goal. thanks

  • The advertising interval affects the time it takes to create a connection. Setting it low will increase average current consumption and shorten connection times, while setting it high will reduce average current consumption and increase connection times.

    As you can see in the question I linked to, 4 kB/s is the maximum of what you can expect, under optimal conditions, with an iPhone and an nRF51822. In practice, you'll probably experience sustained throughput lower than this due to some packets being lost on-air, and due to the phone may not always be able to keep up. You don't say anything about what Central devices you target with your application, but if it's a phone, others will most often have similar restrictions as the iOS devices.

    Latency in the data throughput will be given by the connection interval, which due to your high throughput requirements will have to be one of the lowest ones, for instance 30 ms.

    When doing high-speed data transfers (6 packets of 20 bytes, every 30 ms), you can expect average current consumption of about 2 mA. Just keeping a link with 30 ms interval will give average consumption of about 340 µA.

  • Hi kwas. Depending my multimeter and code, I measure this results on continuous packet sending. There could be 'little' higher than actual due some peripherals using (like UART). nrf51822 to CSR USB PC dongle device. (I don't know if IPhones supports that RX rates. It has to accept 6 packet data etc...)

    Using SDK 5.1 and SoftDevice 6.0 @ 3.3v

    • @13 kbps -> 4.90 mA
    • @74 kbps -> 6.82 mA
    • @124 kbps -> 8.39 mA
Related