UUID and its usage in BLE (Bluetooth Low Energy)

Introduction : A Bluetooth Low Energy UUID (Universally Unique Identifier) uniquely defines services and characteristics which enables devices to interpret and interact with data consistently. UUIDs are the backbone of BLE’s standardized communication.

What is BLE UUID?

In Bluetooth Low Energy (BLE), a UUID (Universally Unique Identifier) is a 128-bit value used to uniquely identify information such as services, characteristics, or descriptors.

Think of it as a global ID tag that ensures no two types of data or features get mixed up, even if made by different manufacturers.

Why UUIDs are Needed in BLE

  • BLE devices communicate using a GATT (Generic Attribute Profile) structure, which organizes data into following.
  1. Services : Groups of related functions (e.g., Heart Rate Service)
  2. Characteristics : Specific pieces of data within a service (e.g., Heart Rate Measurement)
  3. Descriptors : Metadata about characteristics (e.g., units, range)
  • Each service, characteristic, and descriptor needs a unique identifier so devices know exactly what data they’re reading/writing.

Types of BLE UUIDs

BLE uses 128-bit UUIDs, but to save space and bandwidth, it defines two shorter formats when using standard Bluetooth-assigned IDs.

  1. 16-bit UUID : Used for official Bluetooth SIG-adopted services/characteristics

    Example: - Heart Rate Service UUID: 0x180D - Temperature Measurement Characteristic UUID: 0x2A1C

  2. 32-bit UUID : Rarely used, mostly for legacy compatibility.

  3. 128-bit UUID: Used for custom/vendor-specific services and characteristics.

    Example: 12345678-1234-5678-1234-56789abcdef0

Conclusion: With precise use of UUIDs, developers can ensure interoperability, clarity and functionality in BLE applications. Proper UUID management is the key to scalable and maintainable Bluetooth solutions.