Measuring and Optimizing Power Consumption in the Advertising State

Power consumption in BLE

The principal tactics for prolonging battery life in wireless devices are to reduce radio communication and increase sleep time as much as possible.

The Bluetooth radio is active when scanning and advertising, and when transferring data. Following are parameters that can affect power consumption at different two different stages:

  • Advertising State
    • Advertising interval
    • Data length of advertising packet
  • Connection State
    • Reducing the connection interval
    • Slave latency, which means the slave can refuse the connection if no update info is available to send
    • Connection timeout (range: 100 milliseconds to 32.0 seconds)

To measure power optimization options in the advertising state, consider the parameters used in QDN_ControlEndDevicesApp.

Advertising interval — This defines how often a data packet is sent out by the device to be discovered. The value ranges from 20 milliseconds to 10.24 seconds. The longer the time interval, the less current is consumed in the advertising state.

Data length — This defines the data payload sent in an advertising packet. The primary advertising should be sent through the advertising packet; any additional information should be sent with the help of a scan response packet. It's better to avoid sending a scan response packet by disabling the scan request feature.

Direct connection — Depicted in the image below is a unique connection technique using persistent storage to reduce power consumption. Information about the last paired device is preserved in persistent storage and the connection request is sent to the device on application launch; the assumption is that the peripheral device is expecting a connection. If the connection request succeeds, the connection is established; if the connection request fails, default behavior is to scan, then to display the discovered device list.

Flow of direct connection sequence

Measuring the effect of advertising interval on power consumption (current drawn)

  • Build and flash the signed image of the application following the instructions in Signing, Building and Flashing an Image for Secure Boot on Qualcomm® QCA4020/4024 Platform .
  • Connect the power analyzer to the board.
    1. On a QCA4020 board, locate J22. Connect pin 1 to the negative pole and pin 2 to the positive pole of the power analyzer.
    2. On a QCA4024 board, locate J26. Connect pin 1 to the negative pole and pin 2 to the positive pole of the power analyzer.
  • Observe the analyser and note the average current readings over a period of 30 seconds.
  • In QDN_ControlEndDevicesApp, comment out the code responsible for scanning and advertising to ensure they do not occur during testing.

The following table summarizes the current drawn by QDN_ControlEndDevicesApp without scanning or advertising:

Only QDN_ControlEndDevicesApp without scanning and advertising
30s average current in mA 4.78
MAX current in mA 5.02
MIN current in mA 4.70

The following table summarizes the current drawn by QDN_ControlEndDevicesApp in advertising mode at different advertising intervals:

App: QDN_ControlEndDevicesApp
Advertising packet data = 20 bytes
Secure boot
Advertising interval 100-200 200-400 400-600
30s average current in mA 5.24 4.94 4.87
MAX current in mA 5.64 5.41 5.20
MIN current in mA 5.13 4.79 4.69

The data shows that an increase in advertising interval leads to a decrease in average current drawn.