What is GATT in BLE?

To use Bluetooth technology for communication, a device must obey the subset of Bluetooth profiles necessary to use the desired services. A Bluetooth profile is a specification regarding an aspect of Bluetooth-based wireless communication between devices. It resides on top of the Bluetooth Core Specification protocol. Bluetooth profiles are simply a pre-defined collection of Services that have been compiled by either the Bluetooth SIG or by the peripheral designers.

Services are used to break data up into logic entities, and contain specific chunks of data called characteristics. A service can have one or more characteristics, and each service distinguishes itself from other services by means of a unique numeric ID called a UUID (Universally Unique Identifier), which can be either 16-bit for officially adopted BLE Services or 128-bit for custom services.

The lowest level concept in Generic Attribute Profile (GATT) transactions is the Characteristic, which encapsulates a single data point. Similarly to Services, each Characteristic distinguishes itself via a pre-defined 16-bit or 128-bit UUID, and we are free to use the standard characteristics defined by the Bluetooth SIG (which ensures interoperability across and BLE-enabled HW/SW) or define our own custom characteristics which only our peripheral and software understands. GATT transactions in BLE are based on nested objects called Profiles, Services and Characteristics, which can be seen below.

GATT Server and its components. Image Credits – Link

Author

Suman Satish

References

  1. https://www.bluetooth.com/bluetooth-resources/intro-to-bluetooth-low-energy/
  2. https://learn.adafruit.com/introduction-to-bluetooth-low-energy
  3. https://learn.adafruit.com/introduction-to-bluetooth-low-energy/gatt

Further study

  1. Nordic BLE In-Dept Training Course (Foundational Level)
  2. Nordic BLE In-Dept Training Course (Intermediate Level)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s