Bluetooth has several protocol layers which form the Blue‐tooth protocol stack.
Controller and host stacks are the two main stacks in Bluetooth, where the controller stack contains the radio interface part, and the host stack deals with the high level data.
Controller stack functionality includes (not limited to): CRC generation and verification, AES encryption and preamble, access address, and air protocol framing.
If the controller stack is separated physically then an HCI layer (Host Controller Interface) will handle the communication between the host stack and controller stack. Mostly, it will be using USB or UART (using AT commands).
You can find in the market 2 types of Bluetooth solutions: 1- SoC: A single IC runs the application, the host, and the controller.
2- Dual IC over HCI: One IC runs the application and the host and interface using HCI with a second IC contains the controller (physical layer).
The well known nrf51822 IC is an example of SoC type, and HC-05 is an example of dual IC over HCI type.
finally, several Bluetooth stacks are there: BlueZ for Linux, BlueDroid for Android and Apple has its own one.
This article does not explain what a bluetooth stack is. It starts with:
Bluetooth has several protocol layers which form the Blue‐tooth protocol stack.
That is a circular reference. If I were grading this paper, I would give it an incomplete. And it’s too nerdy. This will make no sense to the average computer user, and a help article is supposed to be, you know, helpful.
Thanks for the feedback. You are right, but this content was not intended to be a reference, it just macro-blog to explain why it’s called a stack. it is just highlighting one fact that it consists of more than one protocol.
To read more about bluetooth we have a complete article here : https://atadiat.com/en/e-bluetooth-low-energy-ble-101-tutorial-intensive-introduction/