Bluetooth GATT Descriptor Reference
Characteristic User Description (0x2901)
If the Writable Auxiliary bit of the Characteristics Properties is set then this descriptor is written. Only one User Description descriptor exists in a characteristic definition.
Quick Summary
Payload length is profile-defined or variable based on field formats. This page is generated from official GATT XML and presented as implementation-ready guidance.
At a Glance
Key reference details for BLE implementation, interoperability testing, and AI-assisted troubleshooting.
| Property | Value |
|---|---|
| Name | Characteristic User Description |
| UUID | 0x2901 |
| Type | org.bluetooth.descriptor.gatt.characteristic_user_description |
| XML Root | Descriptor |
| Source File | org.bluetooth.descriptor.gatt.characteristic_user_description.xml |
| Field Count | 1 |
Field Specification
Parsed field definitions from the source XML value structure.
| Field | Requirement | Format | Unit | Exponent | Notes |
|---|---|---|---|---|---|
| User Description | Mandatory | utf8s | - | - | - |
Byte Layout and Decode
Payload length is profile-defined or variable based on field formats.
function decodePayload(dataView, offset = 0) {
// Parse user_description (utf8s) according to Bluetooth format rules.
return { user_description };
}
Use Cases and Integration Notes
Descriptor Validation
Verify descriptor presence and format during integration and interoperability testing.
Client Configuration
Use descriptor semantics to configure notifications, indications, or presentation metadata.
Debug Diagnostics
Capture descriptor values alongside characteristic data for deeper BLE troubleshooting.
Implementation Checklist
- Read descriptor metadata after characteristic discovery to confirm behavior contracts.
- Respect descriptor read/write requirements before ATT operations.
- Document descriptor values in exported BLE session logs for reproducibility.
- Keep descriptor handling aligned with Bluetooth SIG format definitions.
FAQ
What is Characteristic User Description in Bluetooth GATT?
Characteristic User Description is defined as a Bluetooth GATT descriptor entry with type org.bluetooth.descriptor.gatt.characteristic_user_description and UUID 0x2901.
What UUID identifies Characteristic User Description?
The UUID for Characteristic User Description is 0x2901.
How should I parse Characteristic User Description?
Payload length is profile-defined or variable based on field formats.
Where does this definition come from?
This page is generated from the Bluetooth SIG mirror XML in the oesmith/gatt-xml repository.
How does this page support BLE implementation?
The page combines structured tables, practical Q&A, and JSON-LD metadata to help teams validate integrations and troubleshoot consistently.