Hi,
I would like to ask a question about the estimation of battery life regarding to advertisement period and idle & disconnection period. In my ble_app_uart example, peripheral device will wake up periodically by using app_timer. Also, 3.7 V - 250 mAh battery will be used.
If there is no central device, peripheral device will advertise for 2 second (APP_ADV_DURATION) and will be in BLE_ADV_EVT_IDLE state for 10 minutes. In this case, peripheral device draws 1280 uA (average) during advertisement and draws 4.3 uA during idle.
If there is a central device, peripheral device will connect to central device and send data (20 byte) to central device when peripheral device wakes up from idle. Once data transmission is completed, peripheral device will disconnect and will stop advertisement. After it will stop the advertisement, peripheral device will be again idle state for 10 minutes. In this case, peripheral device draws average 1110 uA during connection & sending data (it happens very fast - less than 1 second) and draws 4.3 uA during idle.
I don't know how to calculate battery life regarging to these current values. I mean these are average values and I don't know how the current will change in intervals of advertisement & radio process. Also, APP_ADV_INTERVAL macro is 64 by default (40 ms). Advertisement events will happen 50 times since it will advertise for 2 second at first (correct me if I am wrong).
So if we have this scenario with no central device at first : Advertise for 2 second -> idle state for 10 minutes -> (central device appears) connect to central device, send data, stop connection and advertisement after transmission ->idle state for 10 minutes. How should I approach to this calculation ?
Lastly, I use SDK 16.0. I measured the current values on a BLE 5 module with no LEDs on it. I have no power concern for the central device side.
I will be very appreciated if you could help me.
Best Regards
Edit: From Online Power Profiler
I have these results for Advertising (connectable) , TX payload (Byte) = 20, Advertising interval (40 ms), LDO regulator :
Current consumption | |
BLE event total charge | 20.24 µC |
LF clock calibration current | 1.0 µA |
Idle current | 3.1 µA |
Total average current | 454 µA |
BLE event details | |
Interval | 45.00 ms |
Length | 4.09 ms |
Data transmission | |
On air data rate | 1 Mbps |
And for Peripheral (connection), Connection interval (40 ms)
Current consumption | |
BLE event total charge | 8.43 µC |
LF clock calibration current | 1.0 µA |
Idle current | 3.1 µA |
Total average current | 215 µA |
BLE event details | |
Interval | 40.00 ms |
Length | 2.53 ms |
Number of packets | 1 |
Master sleep clock accuracy | 20 ppm |
Slave sleep clock accuracy | 20 ppm |
Data transmission | |
LL PDU size | 251 Byte |
TX payload per event | 20 Byte |
TX LL throughput | 4.00 kbps |
RX payload per event | 0 Byte |
RX LL throughput | 0 bit/s |
On air data rate | 1 Mbps |