www.ti.com
Generic Attribute Profile (GATT)
45
SWRU271H–October 2010–Revised April 2019
Submit Documentation Feedback
Copyright © 2010–2019, Texas Instruments Incorporated
The Bluetooth Low Energy Protocol Stack
5.5 Generic Attribute Profile (GATT)
TI designed the GATT layer of the Bluetooth Low Energy protocol stack for use by the application for data
communication between two connected devices. Data are passed and stored in the form of
characteristics, which are stored in memory on the Bluetooth Low Energy device. In GATT when two
devices are connected, they each fill one of two roles:
• GATT Server — This device contains the characteristic database being read or written by a GATT
client.
• GATT Client — This device reads or writes data from or to the GATT server. The Figure 5-8 shows this
relationship in a sample Bluetooth Low Energy connection where the peripheral device (a SensorTag)
is the GATT server and the central device (a smart phone) is the GATT client.
Figure 5-8. GATT Client and Server
Typically, the GATT roles of client and server are independent from the GAP roles of peripheral and
central. A peripheral can be either a GATT client or server and a central device can be either a GATT
client or server. A device can also act as both a GATT client and a GATT server.
5.5.1 GATT Characteristics and Attributes
While characteristics are sometimes interchangeable when referring to Bluetooth Low Energy, consider
them as groups of information called attributes. Attributes are the base groups of information transferred
between devices. Characteristics organize and use attributes as data values, properties, and configuration
information.
A typical characteristic is composed of the following attributes:
• Characteristic Value: This value is the data value of the characteristic.
• Characteristic Declaration: A descriptor stores the properties, location, and type of the characteristic
value.
• Client Characteristic Configuration: This configuration lets the GATT server configure the characteristic
to be sent to the GATT server (notified) or sent to the GATT server and expect an acknowledgment
(indicated).
• Characteristic User Description: This description is an ASCII string describing the characteristic.
These attributes are stored in the GATT server in an attribute table. The following properties are
associated with each attribute:
• Handle – This property is the attribute’s index in the table. Every attribute has a unique handle.
• Type – This attribute indicates what the attribute data represents. This attribute is called a universal
unique identifier (UUID). Some of these UUIDs are defined by Bluetooth SIG and others are user-
definable.