CGM Feature (0x2AA8): byte layout
GATT characteristic · org.bluetooth.characteristic.cgm_feature · read from the Bluetooth SIG’s repository on 2026-10-17 · commit 408f4a0 (2026-10-14)
CGM Feature is Bluetooth GATT characteristic 0x2AA8, org.bluetooth.characteristic.cgm_feature in the Bluetooth SIG's assigned numbers. The SIG's GATT Specification Supplement file lays its value out as 3 fields: CGM Feature, CGM Type-Sample Location and E2E-CRC. Every field has a fixed size, 6 octets in all.
- UUID
- 0x2AA8
- Identifier
org.bluetooth.characteristic.cgm_feature- The SIG’s description
- The CGM Feature characteristic is used to represent the supported features of a continuous glucose monitor (CGM).The structure of this characteristic is defined below.
- Service the SIG’s files tie it to
- None: no file in the repository lists this characteristic under a service.
- Referenced by
- CGM Specific Ops Control Point
- Source file
- gss/org.bluetooth.characteristic.cgm_feature.yaml
Byte layout: 3 fields
In the order the SIG’s structure lists them. Type and size are as published; sizes count octets except where a struct is marked as sized in bits. The offset is printed only where every earlier field has a fixed size; where an earlier field can be absent or vary, the cell names what it depends on. “Present when” is read from the field’s own “Present if” line, shown in full in the field notes below.
| Offset | Field | Type | Size | Present when | Unit |
|---|---|---|---|---|---|
| 0 | CGM Feature | boolean[24] | 3 | Always (fixed size) | — |
| 3 | CGM Type-Sample Location | struct | 1 | Always (fixed size) | — |
| +0 bits | ↳ Type | uint4 | 4 bits | Always (fixed size) | unitlessorg.bluetooth.unit.unitless |
| +4 bits | ↳ Sample Location | uint4 | 4 bits | Always (fixed size) | unitlessorg.bluetooth.unit.unitless |
| 4 | E2E-CRC | uint16 | 2 | Always (fixed size) | — |
Field notes
Each field’s text in the SIG’s file, line by line.
- CGM Feature boolean[24] · 3
- See CGM Feature
- CGM Type-Sample Location struct · 1
- See CGM Type-Sample Location
- E2E-CRC uint16 · 2
- CRC calculated over all data except the E2E-CRC field itself. See
§ crc_calculationfor details.If the service containing this characteristic does not support the E2E-CRC, this field typically has a value defined by the service such as 0xFFFF or any other value.
Flags and value tables
The definitions the SIG’s file gives for its fields, every row as published. On a flags table the last column lists the fields whose “Present if” line names that bit.
CGM Feature
The bits of this field are defined below.
| Bit | Description | Fields its condition names |
|---|---|---|
| 0 | Calibration supported | — |
| 1 | Patient High/Low Alerts supported | — |
| 2 | Hypo Alerts supported | — |
| 3 | Hyper Alerts supported | — |
| 4 | Rate of Increase/Decrease Alerts supported | — |
| 5 | Device Specific Alert supported | — |
| 6 | Sensor Malfunction Detection supported | — |
| 7 | Sensor Temperature High-Low Detection supported | — |
| 8 | Sensor Result High-Low Detection supported | — |
| 9 | Low Battery Detection supported | — |
| 10 | Sensor Type Error Detection supported | — |
| 11 | General Device Fault supported | — |
| 12 | E2E-CRC supported | — |
| 13 | Multiple Bond supported | — |
| 14 | Multiple Sessions supported | — |
| 15 | CGM Trend Information supported | — |
| 16 | CGM Quality supported | — |
| 17–23 | Reserved for Future Use | — |
CGM Type-Sample Location(sizes in bits, as the file marks)
The structure of this field is defined below.
| Field | Data type | Size | Description |
|---|---|---|---|
| Type | uint4 | 4 | Unit: org.bluetooth.unit.unitlessSee Type |
| Sample Location | uint4 | 4 | Unit: org.bluetooth.unit.unitlessSee Sample Location |
Type
The values of this field are defined below.
| Value | Description |
|---|---|
| 0x0 | Reserved for Future Use |
| 0x1 | Capillary Whole blood |
| 0x2 | Capillary Plasma |
| 0x3 | Venous Whole blood |
| 0x4 | Venous Plasma |
| 0x5 | Arterial Whole blood |
| 0x6 | Arterial Plasma |
| 0x7 | Undetermined Whole blood |
| 0x8 | Undetermined Plasma |
| 0x9 | Interstitial Fluid (ISF) |
| 0xA | Control Solution |
| 0xB–0xF | Reserved for Future Use |
Sample Location
The values of this field are defined below.
| Value | Description |
|---|---|
| 0x0 | Reserved for Future Use |
| 0x1 | Finger |
| 0x2 | Alternate Site Test (AST) |
| 0x3 | Earlobe |
| 0x4 | Control solution |
| 0x5 | Subcutaneous tissue |
| 0x6–0xE | Reserved for Future Use |
| 0xF | Sample Location value not available |
Guides on this site
No guide on this site names 0x2AA8 yet. The connected-devices guides cover pairing, subscribing and testing for the device types they do name.
Questions
- What is the UUID of the CGM Feature characteristic?
- 0x2AA8. The Bluetooth SIG's characteristic_uuids.yaml lists CGM Feature as 0x2AA8 with the identifier org.bluetooth.characteristic.cgm_feature. No file in the SIG's repository ties it to a service: the repository lists service and characteristic UUIDs separately. CGM Specific Ops Control Point refers to it in its own structure.
- Are any CGM Feature fields optional?
- No. Every field in the SIG's structure has a size that cannot be zero: CGM Feature (boolean[24], 3), CGM Type-Sample Location (struct, 1) and E2E-CRC (uint16, 2).
- How many bytes is a CGM Feature value?
- 6 octets. Every field has a fixed size in the SIG's structure: CGM Feature at offset 0 (boolean[24], 3), CGM Type-Sample Location at offset 3 (struct, 1) and E2E-CRC at offset 4 (uint16, 2).
Source
Read on 2026-10-17 from gss/org.bluetooth.characteristic.cgm_feature.yaml and assigned_numbers/uuids/characteristic_uuids.yaml in the Bluetooth SIG’s public repository (branch main, commit 408f4a0, committed 2026-10-14), by scripts/fetch-bluetooth-gatt.mjs. The file’s notice says it is proprietary to Bluetooth SIG, that furnishing it grants no licence, and that it is subject to change without notice; it is © Bluetooth SIG, Inc., and its text is quoted here for identification. Generated by AIFitnessAPI, which is not affiliated with Bluetooth SIG; the SIG’s file remains the authority. The full notice and the conventions used on these pages are on the reference hub.