Bluetooth Protocol Stack

Bluetooth might feel like a single connection.

In reality, it’s a layered architecture.

At the top, you have the Application Layer.
This is where user-facing logic lives.
It’s the part that defines what the connection is for.

Beneath it, in the Host, you find the rules and structure.

:white_check_mark: GAP (Generic Access Profile)

Decides how devices find and connect.

:white_check_mark: GATT (Generic Attribute Profile)

Defines how data is organized.

:white_check_mark: ATT (Attribute Protocol)

Handles the actual data transfer.

:white_check_mark: SMP (Security Manager Protocol)

Keeps the link secure.

:white_check_mark: L2CAP (Logical Link Control and Adaptation Protocol)

Adapts higher-level data to lower-level transport.

Bridging the Host and the physical hardware is the HCI (Host Controller Interface).
It’s the messenger between software and the controller.

In the Controller, the conversation turns into action:

:arrow_right: ISOAL (Isochronous Adaptation Layer)

Supports time-bound data like audio.

:arrow_right: Link Layer (LL)

Manages packet scheduling and error correction.

:arrow_right: BLE PHY (Bluetooth Low Energy Physical Layer)

Turns it all into actual radio signals.

Each layer has a distinct role.
One handles structure.
Another secures it.
Another makes sure it actually moves through the air.

So, it’s a chain of layers working together.

Thanks for reading.

LinkedIn: :point_down: