GATT is an acronym for the Generic Attribute Profile.


  • Services
  • Characteristics

Uses generic Attribute Protocol (ATT), stores in a simple lookup table using 16-bit IDs for each entry.

GATT comes into play once devices are

A device that initiates GATT commands and requests, and accepts responses, for example, a computer or smartphone.
A device that receives GATT commands and requests, and returns responses, for example, a temperature sensor.
A data value transferred between client and server, for example, the current battery voltage.
A collection of related characteristics, which operate together to perform a particular function. For instance, the Health Thermometer service includes characteristics for a temperature measurement value, and a time interval between measurements.
A descriptor provides additional information about a characteristic. For instance, a temperature value characteristic may have an indication of its units (e.g. Celsius), and the maximum and minimum values which the sensor can measure. Descriptors are optional – each characteristic can have any number of descriptors.

Services, characteristics, and descriptors are collectively referred to as attributes, and identified by UUIDs.


Want to receive my 🖋 posts as I publish them?