Improving Battery Life in BLE Communication
Reducing power consumption in BLE
Several factors affect power consumption in BLE-based products. It’s possible to improve battery life by understanding BLE and modifying parameters related to the Advertising State and the Connection State.
In this state, power consumption mainly depends on transmit power, advertising interval and advertising payload size.
Transmit power is an important factor in determining peak and average power consumption. Higher transmit power results in longer range but also requires higher peak power. Maintaining power beyond the required range will drain the battery unnecessarily. It may also lead to interference in the advertising channels and corruption of packets originating from other devices. Thus, maintaining the power level within the required limit can reduce the risk of interference with other devices.
Advertising interval refers to how often the device enters the advertising state from the low power mode or from the state based on the implementation. Having a defined requirement for the advertising interval is necessary to prolong battery life. There is no benefit to advertising more often than required. Having long advertising intervals will ensure less risk of interference with other devices.
Advertising event types can be categorized as follows:
- Connectable Undirected — Used for establishing a connection with a Central. This event type allows a scanner or initiator to respond with either a scan request or connect request.
- Connectable Directed — Only the specified target device to which the advertisement is directed can send the connection request. This event type allows an initiator to respond with a connect request. Over a fast connection, this event type will help reduce the amount of time spent sending advertisement packets. That avoids unnecessary scan requests and connections.
- Scannable Undirected — This event type works in receive and transmit modes and consumes more power than Non-connectable Undirected. It is used when the data must be communicated to only a few peer devices with acknowledgement.
- Non-connectable Undirected — This type is used to broadcast to all devices. The result is one-way communication, where the information is transmitted from a device.
For more information, refer to the Bluetooth Core Specification v.4.2, Vol. 6, Part B, chapter 4.4.2.
Advertising payload size
Power consumption can also be improved by keeping the advertising payload size in the required range. More-frequent data transmission uses more power. Each packet has significant overhead, hence instead of sending payloads frequently, packet’s payload can be maximized.
In this state, power consumption is affected by connection interval, event length, data size being transferred, receive power and transmit power. After the data is available, a shorter connection interval consumes high power, but it reduces the payload transfer latency.
In any wireless technology — including BLE — the data rate is always greater than the data throughput, due to the protocol overhead. In BLE v4.2, Bluetooth.org made a significant improvement over older versions by increasing the payload from 27 bytes to 251 bytes, requiring fewer packets and less power to transmit the same amount of data. Security-based applications that use GATT implementations and don’t need to send data very frequently can connect only when required and, using signed writes, exchange data. Besides that, it helps to avoid link encryption, which consumes extra power and takes more time.
Developers can improve battery life in apps that use BLE by considering other factors:
- Power optimization options during the scanning state and the initiation state
- Power optimization during stand-by state
- System resources like the CPU and peripherals that affect power consumption