VelocAI logo Bluetooth Explorer Documentation

Bluetooth GATT Characteristic Reference

Step Climber Data (0x2ACF)

org.bluetooth.characteristic.step_climber_data

The Step Climber Data characteristic is used to send training-related data to the Client from a step climber (Server).

Quick Summary

Payload length is 23 bytes. 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
NameStep Climber Data
UUID0x2ACF
Typeorg.bluetooth.characteristic.step_climber_data
XML RootCharacteristic
Source Fileorg.bluetooth.characteristic.step_climber_data.xml
Field Count13

Field Specification

Parsed field definitions from the source XML value structure.

Field Requirement Format Unit Exponent Notes
FlagsMandatory16bit---
FloorsC1uint16org.bluetooth.unit.unitless-Unitless with a resolution of 1
Step CountC1uint16org.bluetooth.unit.unitless-Unitless with a resolution of 1
Step Per MinuteC2uint16org.bluetooth.unit.step_per_minute-Step/minute with a resolution of 1
Average Step RateC3uint16org.bluetooth.unit.step_per_minute-Step/minute with a resolution of 1
Positive Elevation GainC4uint16org.bluetooth.unit.length.metre-Meters with a resolution of 1
Total EnergyC5uint16org.bluetooth.unit.energy.kilogram_calorie-Kilo Calorie with a resolution of 1
Energy Per HourC5uint16org.bluetooth.unit.energy.kilogram_calorie-Kilo Calorie with a resolution of 1
Energy Per MinuteC5uint8org.bluetooth.unit.energy.kilogram_calorie-Kilo Calorie with a resolution of 1
Heart RateC6uint8org.bluetooth.unit.period.beats_per_minute-Beats per minute with a resolution of 1
Metabolic EquivalentC7uint8org.bluetooth.unit.metabolic_equivalent-1Metabolic Equivalent with a resolution of 0.1
Elapsed TimeC8uint16org.bluetooth.unit.time.second-Second with a resolution of 1
Remaining TimeC9uint16org.bluetooth.unit.time.second-Second with a resolution of 1

Bit Map

Bit-level enumerations extracted from the XML BitField definition.

Field Bit Size Name 0 Means 1 Means
Flags01More DataFalseTrue
Flags11Step per Minute presentFalseTrue
Flags21Average Step Rate PresentFalseTrue
Flags31Positive Elevation Gain presentFalseTrue
Flags41Expended Energy presentFalseTrue
Flags51Heart Rate presentFalseTrue
Flags61Metabolic Equivalent presentFalseTrue
Flags71Elapsed Time presentFalseTrue
Flags81Remaining Time presentFalseTrue

Byte Layout and Decode

Payload length is 23 bytes.

function decodePayload(dataView, offset = 0) {
  // Parse flags (16bit) according to Bluetooth format rules.
  const floors = dataView.getUint16(offset + 0, true);
  const step_count = dataView.getUint16(offset + 2, true);
  const step_per_minute = dataView.getUint16(offset + 4, true);
  const average_step_rate = dataView.getUint16(offset + 6, true);
  const positive_elevation_gain = dataView.getUint16(offset + 8, true);
  const total_energy = dataView.getUint16(offset + 10, true);
  const energy_per_hour = dataView.getUint16(offset + 12, true);
  const energy_per_minute = dataView.getUint8(offset + 14);
  const heart_rate = dataView.getUint8(offset + 15);
  return { flags, floors, step_count, step_per_minute, average_step_rate, positive_elevation_gain };
}

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 Step Climber Data in Bluetooth GATT?

Step Climber Data is defined as a Bluetooth GATT characteristic entry with type org.bluetooth.characteristic.step_climber_data and UUID 0x2ACF.

What UUID identifies Step Climber Data?

The UUID for Step Climber Data is 0x2ACF.

How should I parse Step Climber Data?

Payload length is 23 bytes.

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.