Skip to content
AF

Weight Measurement (0x2A9D): byte layout

GATT characteristic · org.bluetooth.characteristic.weight_measurement · read from the Bluetooth SIG’s repository on 2026-10-17 · commit 408f4a0 (2026-10-14)

Weight Measurement is Bluetooth GATT characteristic 0x2A9D, org.bluetooth.characteristic.weight_measurement in the Bluetooth SIG's assigned numbers. The SIG's GATT Specification Supplement file lays its value out as 6 fields: Flags, Weight, Time Stamp, User ID, BMI and Height. The first, Flags, is a boolean[8]; 4 of the others are present only when a bit of it is set as the field's text states, so after the first of those, a field's offset depends on which bits are set.

UUID
0x2A9D
Identifier
org.bluetooth.characteristic.weight_measurement
The SIG’s description
The Weight Measurement characteristic is used to represent data related to a weight measurement.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.
Source file
gss/org.bluetooth.characteristic.weight_measurement.yaml

Byte layout: 6 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.

OffsetFieldTypeSizePresent whenUnit
0Flagsboolean[8]1Always (fixed size)—
1Weightuint162Always (fixed size)—
3Time Stampstruct0 or 7Bit 1 of Flags is 1—
Depends on Flags (bit 1)User IDuint80 or 1Bit 2 of Flags is 1—
Depends on Flags (bits 1 and 2)BMIuint160 or 2Bit 3 of Flags is 1not an id in units.yamlorg.bluetooth.unit.kilogram_per_square_metre
Depends on Flags (bits 1, 2 and 3)Heightuint160 or 2Bit 3 of Flags is 1—

Field notes

Each field’s text in the SIG’s file, line by line.

Flags boolean[8] · 1
See Flags
Weight uint16 · 2
This field is in kilograms with resolution 0.005 if the bit 0 of the Flag field is 0 or in pounds with a resolution of 0.01 if the bit 0 of the Flag field is 1.
Time Stamp struct · 0 or 7
Refer to Date Time characteristic in Date Time (0x2A08)Present if bit 1 of Flags field is set to 1
User ID uint8 · 0 or 1
The special value of 0xFF for User ID represents "unknown user".Present if bit 2 of Flags field is set to 1
BMI uint16 · 0 or 2
Unit is 0.1 kg/m2 or org.bluetooth.unit.kilogram_per_square_metreRepresented values: M = 1, d = -1, b = 0.Present if bit 3 of Flags field is set to 1
Height uint16 · 0 or 2
This field is in meters with a resolution of 0.001 if the bit 0 of the Flag field is 0 or in inches with a resolution of 0.1 if the bit 0 of the Flag field is 1.Present if bit 3 of Flags field is set to 1

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.

Flags

The bits of this field are defined below.

BitDescriptionFields its condition names
0Measurement Units:0 = SI (Weight and Mass in units of kilogram (kg) and Height in units of meter)1 = Imperial (Weight and Mass in units of pound (lb) and Height in units of inch (in))—
1Time Stamp presentTime Stamp when 1
2User ID presentUser ID when 1
3BMI and Height presentBMI when 1Height when 1
4–7Reserved for Future Use—

Guides on this site

The metric Weight Measurement carries, on every platform this site covers — each type quoted in its platform's own words:

No guide on this site names 0x2A9D yet. The connected-devices guides cover pairing, subscribing and testing for the device types they do name.

Questions

What is the UUID of the Weight Measurement characteristic?
0x2A9D. The Bluetooth SIG's characteristic_uuids.yaml lists Weight Measurement as 0x2A9D with the identifier org.bluetooth.characteristic.weight_measurement. No file in the SIG's repository ties it to a service: the repository lists service and characteristic UUIDs separately.
Which Weight Measurement fields are optional?
4 of its 6 fields have a published size that can be zero: Time Stamp (0 or 7; Present if bit 1 of Flags field is set to 1); User ID (0 or 1; Present if bit 2 of Flags field is set to 1); BMI (0 or 2; Present if bit 3 of Flags field is set to 1); Height (0 or 2; Present if bit 3 of Flags field is set to 1). Flags (1) and Weight (2) have a fixed size.
What units does Weight Measurement use?
The SIG's text names a unit for 1 of the 6 fields: BMI: org.bluetooth.unit.kilogram_per_square_metre (not an id in units.yaml).
What do the bits of the Weight Measurement Flags field mean?
The SIG defines them as: bit 0, Measurement Units: 0 = SI (Weight and Mass in units of kilogram (kg) and Height in units of meter); 1 = Imperial (Weight and Mass in units of pound (lb) and Height in units of inch (in)); bit 1, Time Stamp present (Time Stamp when 1); bit 2, User ID present (User ID when 1); bit 3, BMI and Height present (BMI when 1, Height when 1). The remaining bits are reserved for future use.

Source

Read on 2026-10-17 from gss/org.bluetooth.characteristic.weight_measurement.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.

← All Bluetooth GATT characteristics