9 years, 7 months ago.

Bluetooth: Difference in current between advertising and notifying

I'm running the BLE_Thermometer example code on a RedBearLabs BLE nano and measuring the current consumed in different modes of operation.

When the device is advertising (i.e. not connected), the baseline current is 6uA between adverts. Once the device is connected to the LightBlue app, this baseline current goes up to 260uA.

My question is, why is there such a big difference in current when the device is connected? When it is advertising, it is sending a message periodically and waiting for a client to connect; and when it is connected, it is sending a notification periodically and waiting for a client to send commands. It seems to me that these modes should have similar current draw. What am I missing?

Note: I've removed the led toggling, so the extra current is not the led.

Question relating to:

/ BLE_Thermometer Featured
BLE demo for the Health-Thermometer service. BLE, bluetooth smart, Health, thermometer

According to the SoftDevice specification, the idle current is I(ON) + I(RTC) + I(X32k) in both cases (6uA).

posted by Tim Barry 19 May 2015

1 Answer

9 years, 7 months ago.

If the connection interval set by the Central is very small (100ms or such), then a lot of energy could be lost in maintaining fast communication. You can request more relaxed communication parameters, or even use a slave latency. You'll find APIs for these, and you'll also find example code in http://ble-intros.readthedocs.org/en/latest/InDepth/ConnectionParameters/