BLE Advertising Power Management

Looking for suggestions for power management on a product

We have a wearable that needs to periodically sync data to the cloud through a gateway. Currently the wearable advertises periodically, connects with the gateway and all is good. Well, most of the time... However, it is possible that gateway is not in the range when the advertising happens. We can create some heuristics on next advertising window but we really need to manage power extremely carefully. There is an absolute requirement that data sync should happen with no user intervention expectations. 

Any suggestions on how the wearable can determine that the gateway is in the range before it starts to advertise?

Parents
  • Hi,

    The most power efficient way is advertising (the other would be scanning if the other device advertises, but this will be less power efficient.

    The task is to find the best compromise between the time it takes for the central to connect when in range and power optimization. A typical way to solve this is to advertise with a short avdvertising interval right after disconnect, to make re-connection fast, and then move to slower (higher interva) advertising that on average increases the time to reconnect, but also reduces power consumption (you could also have several "steps" here). This is very application specific though, so you need to find a compromsie that work well for your specific product. (You can refer to Apple's Accessory Design Guidelines for Apple Devices for suggested intervals).

  • Thanks Einar. The document seems to suggest that advertising to start from 20ms and increase upto ~1.3s in duration but with some very specific intermediate intervals. Would you know what is the motivation for those specific intervals? 

  • A separate view - we have an almost identical medical wearable device - is that no-one really cares about how long a reconnection will take place if the gateway moves away and sometime later moves back in range; 20mSec or several seconds, irrelevant. Hence just continually advertise (say) once per second; this is very power-efficient and worst case with congested advertising channels due to other devices a slightly longer period before reconnection.

    This assumes both sufficient internal data storage for the connection gap with gateway and that the gateway is not supporting (say) real-time display of brain waves without which the patient might expire.

    Bottom line is a once-per-second advertising scheme uses a tiny fraction of available battery power compared with CPU wakeups and analogue data acquisition and subsequent local data storage, the latter perhaps using high-current flash writes.

Reply
  • A separate view - we have an almost identical medical wearable device - is that no-one really cares about how long a reconnection will take place if the gateway moves away and sometime later moves back in range; 20mSec or several seconds, irrelevant. Hence just continually advertise (say) once per second; this is very power-efficient and worst case with congested advertising channels due to other devices a slightly longer period before reconnection.

    This assumes both sufficient internal data storage for the connection gap with gateway and that the gateway is not supporting (say) real-time display of brain waves without which the patient might expire.

    Bottom line is a once-per-second advertising scheme uses a tiny fraction of available battery power compared with CPU wakeups and analogue data acquisition and subsequent local data storage, the latter perhaps using high-current flash writes.

Children
Related