VelocAI logo Bluetooth Explorer Documentation

Bluetooth GATT Characteristic Reference

Weight Measurement (0x2A9D)

org.bluetooth.characteristic.weight_measurement

Weight Measurement is defined in the Bluetooth GATT XML specification with type org.bluetooth.characteristic.weight_measurement and UUID 0x2A9D.

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.

PropertyValue
NameWeight Measurement
UUID0x2A9D
Typeorg.bluetooth.characteristic.weight_measurement
XML RootCharacteristic
Source Fileorg.bluetooth.characteristic.weight_measurement.xml
Field Count8

Field Specification

Parsed field definitions from the source XML value structure.

Field Requirement Format Unit Exponent Notes
FlagsMandatory8bit---
Weight - SIC1uint16org.bluetooth.unit.mass.kilogram-3Unit is in kilograms with a resolution of 0.005, and determined when bit 0 of the Flags field is set to 0.
Weight - ImperialC2uint16org.bluetooth.unit.mass.pound-2Unit is in pounds with a resolution of 0.01, and determined when bit 0 of the Flags field is set to 1.
Time StampC3N/A--Smallest unit in seconds
User IDC4uint8org.bluetooth.unit.unitless0Unit is unitless with a resolution of 1
BMIC5uint16org.bluetooth.unit.unitless-1Unit is unitless with a resolution of 0.1
Height - SIC1uint16org.bluetooth.unit.length.meter-3Unit is in meters with a resolution of 0.001, and determined when bit 0 of the Flags field is set to 0.
Height - ImperialC2uint16org.bluetooth.unit.length.inch-1Unit is in inches with a resolution of 0.1, and determined when bit 0 of the Flags field is set to 1

Bit Map

Bit-level enumerations extracted from the XML BitField definition.

Field Bit Size Name 0 Means 1 Means
Flags01Measurement UnitsSI (Weight and Mass in units of kilogram (kg) and Height in units of meter)Imperial (Weight and Mass in units of pound (lb) and Height in units of inch (in))
Flags11Time stamp presentFalseTrue
Flags21User ID presentFalseTrue
Flags31BMI and Height presentFalseTrue

Byte Layout and Decode

Payload length is profile-defined or variable based on field formats.

function decodePayload(dataView, offset = 0) {
  // Parse flags (8bit) according to Bluetooth format rules.
  const weight_si = dataView.getUint16(offset + 0, true);
  const weight_imperial = dataView.getUint16(offset + 2, true);
  // Parse time_stamp (N/A) according to Bluetooth format rules.
  const user_id = dataView.getUint8(offset + 4);
  const bmi = dataView.getUint16(offset + 5, true);
  const height_si = dataView.getUint16(offset + 7, true);
  const height_imperial = dataView.getUint16(offset + 9, true);
  return { flags, weight_si, weight_imperial, time_stamp, user_id, bmi };
}

Use Cases and Integration Notes

BLE Telemetry

Map characteristic values into dashboards and alerts for device observability.

Firmware Regression

Compare decoded fields across builds to detect protocol or scaling changes.

App Integration

Build stable parsing paths that convert raw payloads into typed app models.

Implementation Checklist

  • Validate payload length and mandatory fields before decode.
  • Decode with Bluetooth-specified signedness, unit, and exponent handling.
  • Convert units at presentation boundaries to avoid drift in business logic.
  • Persist raw packets and decoded values for reproducible troubleshooting.

FAQ

What is Weight Measurement in Bluetooth GATT?

Weight Measurement is defined as a Bluetooth GATT characteristic entry with type org.bluetooth.characteristic.weight_measurement and UUID 0x2A9D.

What UUID identifies Weight Measurement?

The UUID for Weight Measurement is 0x2A9D.

How should I parse Weight Measurement?

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.