BLE

Bluetooth Low Energy GATT/GAP.

Darshan N
Updated: 19 March 2026
10 min read

Bluetooth Low Energy (BLE) is a wireless communication standard designed specifically for short-range, ultra-low power data exchange. Unlike Bluetooth Classic which was designed for continuous audio streaming, BLE is optimized for devices that transmit small bursts of data infrequently, enabling coin-cell batteries to last months or even years. It forms the core wireless technology in wearables, medical devices, proximity beacons, and smart home accessories.

BLE Protocol StackApplication LayerUser profiles, health monitoring, beaconsGATT (Generic Attribute Profile)Read/Write/Notify services and characteristicsGAP (Generic Access Profile)Device discovery, connection roles, advertisingATT (Attribute Protocol)Server-client attribute access mechanismL2CAP + SMP + SDPLogical link, security manager, service discoveryHCI / LL (Link Layer)Channel hopping, packet framing, statesPHY (Physical Layer)2.4 GHz, GFSK modulation, 40 RF channelsPeripheralSensor, wearableCentralPhone, gateway
Figure 1: BLE protocol stack — from physical radio up to application profiles

Core Concept Explanation

BLE operates on the 2.4 GHz ISM band using 40 RF channels of 2 MHz spacing. Three of these channels (37, 38, 39) are dedicated advertising channels used for device discovery and broadcast. The remaining 37 channels are used for data transfer after a connection is established.

The BLE protocol stack has two important high-level profiles. GAP (Generic Access Profile) defines how devices discover each other and establish roles. A device in the Peripheral role (like a fitness tracker) advertises its presence periodically. A Central device (like a smartphone) scans, connects, and initiates communication.

GATT (Generic Attribute Profile) defines how data is structured and exchanged after a connection is made. GATT uses a client-server model where the peripheral acts as a GATT Server holding data in a structured hierarchy of Services and Characteristics. The central acts as a GATT Client that reads or writes these characteristics.

GATT Services and Characteristics

In GATT, a Service is a collection of related data. For example, the Heart Rate Service contains all heart rate related data. Each service contains one or more Characteristics, which are individual data points. Each characteristic has a UUID, a value, and a set of properties (Read, Write, Notify, Indicate).

When a central device enables Notify on a characteristic, the peripheral automatically sends updated values whenever the data changes, without the central needing to poll. This notification mechanism is what enables efficient, event-driven data exchange while keeping power consumption minimal.

Mathematical Expression

BLE power consumption is dominated by radio-on time. Average current draw can be estimated as:

I_avg = I_active x (t_active / T_adv) + I_sleep x (1 - t_active / T_adv)

Where T_adv is the advertising interval, t_active is duration of each advertisement event, I_active is current during transmission (~15 mA), and I_sleep is sleep current (~2 uA). By increasing T_adv, average current drops proportionally, directly extending battery life.

Practical Understanding

A BLE heart rate monitor advertises every 1 second. Each advertisement lasts about 1.5 ms. The MCU and radio are powered down for the remaining 998.5 ms. This duty cycle of about 0.15% is what gives BLE its remarkable battery efficiency. The same device using WiFi would require the radio to be continuously associated with an access point, consuming orders of magnitude more energy.

Example
Given:
I_active = 15 mA (radio Tx), t_active = 1.5 ms
I_sleep = 2 uA = 0.002 mA, T_adv = 1000 ms
Battery capacity = 220 mAh (CR2032)

Why this formula applies:
Average current determines battery runtime.

Formula:
I_avg = I_active x (t_active / T_adv) + I_sleep x (1 - t_active / T_adv)

Substitution:
I_avg = 15 x (1.5/1000) + 0.002 x (998.5/1000)

Calculation:
I_avg = 15 x 0.0015 + 0.002 x 0.9985
     = 0.0225 + 0.001997
     = 0.02450 mA = 24.5 uA

Battery Life = 220 mAh / 0.0245 mA = 8979 hours = ~374 days

Final Answer: Battery life ~ 1 year on a CR2032 with advertising interval of 1s.
Exam Tip: GAP controls device visibility and connection initiation. GATT controls data structure and transfer. A common exam trap is mixing up the two — GAP is about WHO connects, GATT is about WHAT data is exchanged.

BLE Link Layer States

  • Standby: no transmission or reception, lowest power state.
  • Advertising: peripheral broadcasts packets on channels 37, 38, 39 at set intervals.
  • Scanning: central listens on advertising channels for peripheral packets.
  • Initiating: central sends connection request to a discovered peripheral.
  • Connected: bidirectional data exchange begins using 37 data channels with adaptive frequency hopping.

Quick Revision

  • BLE operates at 2.4 GHz with 40 channels — 3 advertising, 37 data.
  • GAP handles device discovery, roles (Central vs Peripheral), and connection setup.
  • GATT handles data organization as Services and Characteristics with UUID identifiers.
  • Notify property: peripheral pushes data to central without polling — key to low power.
  • I_avg = I_active x duty_cycle + I_sleep x (1 - duty_cycle).
  • CR2032 coin cell can power a BLE sensor for ~1 year at 1s advertising interval.
  • Trap: BLE and Bluetooth Classic are NOT backward compatible at the radio level.

BLE Protocol Quiz

Test your knowledge of Bluetooth Low Energy GATT and GAP layers.

Question 1 of 3

Q1.In BLE, the GAP (Generic Access Profile) defines the roles of devices during connection establishment. Which GAP role initiates the connection to an advertising device?