
|
In the design of BLE HID (Bluetooth Low Energy Human Interface Device) devices, power consumption is a critical technical indicator, especially for battery-powered devices such as wireless keyboards, mice, remote controls, headphone controllers, and game controllers. A good BLE HID design typically requires long standby time, quick wake-up, efficient transmission, and extremely low power consumption. |
The following is an analysis of BLE HID power consumption, influencing factors, and optimization suggestions:
1. Composition of BLE HID Power Consumption
The power consumption of BLE HID devices mainly comes from:
|
Module |
Power Consumption Ratio |
Description |
|
Advertising / Connected Idle |
30~50% |
Regular events when the device is in advertising or idle connection state |
|
Notification |
10~30% |
Data transmission via GATT Notification during user operations (e.g., key presses, mouse movements) |
|
MCU Activity (Application Logic) |
10~30% |
Includes key detection, wake-up interrupts, state machine processing, etc. |
|
Peripheral Modules (LEDs, Sensors) |
5~15% |
State indicator lights, gyroscopes, microphones, etc., related to sensor switch frequency |
|
Deep Sleep |
<1% |
Enters power-saving mode when idle and unconnected, only responding to external interrupts |
2. Key Power Consumption Parameters
|
Parameter |
Recommended Value |
Description |
|
Connection Interval |
30ms~100ms (actual depends on platform) |
Frequency of periodic communication between the control device and the host |
|
Slave Latency |
10~30 |
Allows the device to skip a certain number of connection events to save power |
|
Supervision Timeout |
500ms~2s |
If the connection event is missing for more than this time, the connection is terminated |
|
Advertising Interval |
100—500ms (normal) 1000ms—2000ms (power-saving) |
Broadcast frequency when idle; longer intervals save power but increase discovery time |
3. Common Chip Power Consumption References
|
Chip |
TX Current |
RX Current |
Sleep Power Consumption |
Typical Application Scenarios |
|
Nordic nRF52832 |
~5.3mA |
~5.4mA |
1.5μA (System OFF) |
High-performance HID, such as game controllers, remote controls |
|
ESP32-C3 |
~85mA (Wi-Fi), ~20mA (BLE) |
~13mA |
~10μA (Deep Sleep) |
BLE + Wi-Fi composite applications |
|
Dialog DA14531 |
~4.0mA |
~3.0mA |
~0.6μA |
Ultra-low power applications (button batteries) |
|
TI CC2640R2F |
~6.1mA |
~5.9mA |
~1μA |
Industrial/handheld devices |
4. Power Consumption Optimization Suggestions
1. Advertising Phase Optimization
•Set a longer advertising interval (e.g., 1000ms) to reduce power consumption during the discovery phase;
•Use connectable and discoverable mode (Advertising Type: ADV_IND), and switch to a lower frequency after pairing;
2. Connection Parameter Optimization
•After establishing a connection, use BLE GAP Connection Parameter Update request to optimize parameters:
○Interval: 50~100ms;
○Latency: 20~30;
○Timeout: 1s;
•Example (Nordic):
|
C conn_params.min_conn_interval = MSEC_TO_UNITS(50, UNIT_1_25_MS); conn_params.max_conn_interval = MSEC_TO_UNITS(80, UNIT_1_25_MS); conn_params.slave_latency = 24; conn_params.conn_sup_timeout = MSEC_TO_UNITS(1000, UNIT_10_MS); |
3. Idle and Wake-up Mechanism
•The device should quickly enter low power mode (Deep Sleep or Light Sleep) when idle;
•Use interrupt wake-up (GPIO/timer), for example:
○Keyboard key interrupt;
○Sensor change interrupt;
•Immediately initialize the BLE stack and restore the connection after the MCU wakes up (if fast reconnect is supported)
4. HID Message Design Optimization
•Design the Report Map reasonably to avoid overly long data structures;
•Control the Notify frequency, sending only one frame per action (to avoid redundancy);
•Use appropriate MTU to avoid fragmentation and reassembly losses;
5. LED/Indicator Power Consumption Optimization
•Avoid constant lighting, use blinking (PWM control) to indicate status;
•Or completely avoid using status lights, switching to vibration/sound feedback;
5. BLE HID Power Consumption Estimation Case (Typical BLE Keyboard)
|
State |
Current Consumption |
Duration Ratio |
Average Power Consumption |
|
Broadcast (Idle) |
~1mA |
10% |
100μA |
|
Connection Idle |
~300μA |
50% |
150μA |
|
Connection Active |
~2.5mA |
5% |
125μA |
|
Deep Sleep |
~1μA |
35% |
0.35μA |
|
Total Average Power Consumption |
|
|
~376μA (battery life 6~12 months) |
6. Recommended Practical Tools
•Nordic Power Profiler Kit II: Analyze BLE device power consumption;
•nRF Connect for Desktop / Mobile: View connection parameters, MTU, RSSI, etc.;
•Battery Simulator: Simulate button/lithium battery discharge characteristics with a programmable power supply to analyze lifespan;