Skip to main content
For the complete documentation index, see llms.txt.

Hubble Network developer documentation: integrate Bluetooth devices with terrestrial and satellite connectivity.

Custom Payload

Transmit data from your Bluetooth® Low Energy (BLE) device to build an intelligent, distributed system that creates value for your customers.


Using Custom Payloads

Hubble uniquely provides 13 bytes of customizable data in the BLE advertisement payload, enabling you to transmit actionable sensor and status information from your connected devices on our global network.

Terrestrial Network already provides approximate device location. Use the custom payload to add device-level intelligence to your solution.

Program your application to encode custom payload using a predefined type/value library so that it populates the Sensor Widget in your Hubble Dashboard.

Structured Micro-Telemetry

You can structure the custom payload as micro-telemetry to communicate state transitions, alerts, and periodic sensor sampling from the device.

Example: Temperature Reading

As an example, send a temperature reading in the payload that the Sensor Widget will display in your Hubble Dashboard.

The high-resolution temperature item in the Sensor Widget uses a signed 16-bit integer (structured as little-endian) in hundredths of a degree Celsius. (This means you must multiply your temperature by 100 to preserve its decimal places. The Sensor Widget will divide by 100 to report the correct temperature.)

Example: Temperature Reading displayed on Sensor Widget

Custom Payload (Hex String)Byte 1 (Type)Byte 2 (Value LSB)Byte 3 (Value MSB)TypeRaw IntegerScaled ValueUnit
01 D6 0A0x010xD60x0ATemp (High Res)277427.74°C

Decoding the payload:

  1. Byte 1: Type identifier - 0x01 = Temperature (High Res).
  2. Bytes 2-3: Signed 16-bit integer (to account for negative temperatures) structured as little-endian: least-significant byte (LSB) first, most-significant byte (MSB) second. Data should be in hundredths of a degree Celsius.
  3. Raw Integer: Combine bytes as signed int16 (0xAD6 = 2774). Written in big-endian convention for ease of reading.
  4. Scaled Value: Divide by 100 to get decimal precision (2774 → 27.74°C).

On the Satellite Network, custom payloads must be of length 0, 4, 9, or 13. For this example, pad the payload to 4 bytes by appending a trailing 0x00.

Structured Micro-Telemetry

Your custom payload does not need to adhere to the Sensor Widget formatting. You may fill in custom data however your application requires, then decode it yourself. You can structure the custom payload as micro-telemetry to communicate state transitions, alerts, and periodic sensor sampling from the device.


Industry Examples

Below are general examples of what you can fit inside 13 bytes, optimized for different use cases.

Use CaseExample Custom Payload (13 bytes)
Asset Tracking
Capture activity beyond location for
supply chain logistics and asset management.
- 1 byte: battery level (0-100)
- 1 byte: device state (e.g., 0x01 = moving, 0x02 = idle)
- 2 bytes: impact count (int16)
- 9 bytes unused
Cold Chain
Reduce spoilage of perishables by
monitoring temperature and humidity.
- 2 bytes: temperature (signed int16)
- 2 bytes: humidity (signed int16)
- 2 bytes: pressure (signed int16)
- 2 bytes: CO2 (int16)
- 1 byte: battery level (0-100)
- 4 bytes unused
Inventory Management
Maintain warehouse and yard visibility.
- 4 bytes: location ID
- 1 byte: state change
- 2 bytes: timestamp offset (for state change)
- 1 byte: tamper event (flag)
- 1 byte: battery level (0-100)
- 3 bytes unused
Equipment Monitoring
Send meter readings and sensor data
from fixed position devices and machines.
- 1 byte: operating mode or error code
- 2 bytes: meter reading (signed int16)
- 8 bytes: GPS coordinates (lat/long)
- 2 bytes unused
Environment and Agrotech
Monitor climate and environmental inputs.
- 2 bytes: ambient temperature (signed int16)
- 2 bytes: air quality (signed int16)
- 2 bytes: light intensity (int16)
- 2 bytes: wind speed (int16)
- 2 bytes: CO2 (int16)
- 1 byte: battery level (0-100)
- 2 bytes unused

ℹ️ Was this page useful? Please give us feedback.