VelocAI logo Bluetooth Explorer Documentation

Bluetooth GATT Characteristic Reference

Location and Speed Characteristic (0x2A67)

org.bluetooth.characteristic.location_and_speed

The Location and Speed characteristic is a variable length structure containing a Flags field and, based on the contents of the Flags field, may contain a combination of data fields listed below. Note that it is possible for this characteristic to exceed the default LE MTU size.

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
NameLocation and Speed Characteristic
UUID0x2A67
Typeorg.bluetooth.characteristic.location_and_speed
XML RootCharacteristic
Source Fileorg.bluetooth.characteristic.location_and_speed.xml
Field Count9

Field Specification

Parsed field definitions from the source XML value structure.

Field Requirement Format Unit Exponent Notes
FlagsMandatory16bit---
Instantaneous SpeedOptionaluint16org.bluetooth.unit.velocity.metres_per_second-2Unit is in meters per second with a resolution of 1/100
Total DistanceOptionaluint24org.bluetooth.unit.length.meter-1Unit is in meters with a resolution of 1/10
Location - LatitudeC1sint32org.bluetooth.unit.plane_angle.degree-7Unit is in degrees with a resolution of 1/(10^7)
Location - LongitudeC1sint32org.bluetooth.unit.plane_angle.degree-7Unit is in degrees with a resolution of 1/(10^7)
ElevationOptionalsint24org.bluetooth.unit.length.meter-2Unit is in meters with a resolution of 1/100
HeadingOptionaluint16org.bluetooth.unit.plane_angle.degree-2Unit is in degrees with a resolution of 1/100
Rolling TimeOptionaluint8org.bluetooth.unit.time.second0Unit is in seconds with a resolution of 1 second
UTC TimeOptionalN/A--Smallest units in seconds

Bit Map

Bit-level enumerations extracted from the XML BitField definition.

Field Bit Size Name 0 Means 1 Means
Flags01Instantaneous Speed PresentFalseTrue
Flags11Total Distance PresentFalseTrue
Flags21Location PresentFalseTrue
Flags31Elevation PresentFalseTrue
Flags41Heading PresentFalseTrue
Flags51Rolling Time PresentFalseTrue
Flags61UTC Time PresentFalseTrue
Flags72Position StatusNo PositionPosition Ok
Flags91Speed and Distance format2D3D
Flags102Elevation SourcePositioning SystemBarometric Air Pressure
Flags121Heading SourceHeading based on movementHeading based on magnetic compass

Byte Layout and Decode

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

function decodePayload(dataView, offset = 0) {
  // Parse flags (16bit) according to Bluetooth format rules.
  const instantaneous_speed = dataView.getUint16(offset + 0, true);
  // Parse total_distance (uint24) according to Bluetooth format rules.
  const location_latitude = dataView.getInt32(offset + 2, true);
  const location_longitude = dataView.getInt32(offset + 6, true);
  // Parse elevation (sint24) according to Bluetooth format rules.
  const heading = dataView.getUint16(offset + 10, true);
  const rolling_time = dataView.getUint8(offset + 12);
  // Parse utc_time (N/A) according to Bluetooth format rules.
  return { flags, instantaneous_speed, total_distance, location_latitude, location_longitude, elevation };
}

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 Location and Speed Characteristic in Bluetooth GATT?

Location and Speed Characteristic is defined as a Bluetooth GATT characteristic entry with type org.bluetooth.characteristic.location_and_speed and UUID 0x2A67.

What UUID identifies Location and Speed Characteristic?

The UUID for Location and Speed Characteristic is 0x2A67.

How should I parse Location and Speed Characteristic?

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.