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

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

Show Custom Payoad

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


Overview​

Hubble uniquely provides 13 bytes of customizable data in the Bluetooth® Low Energy (BLE) advertisement payload, enabling you to transmit actionable sensor and status information from your connected devices on our global network (see Custom Payload).

Use the custom payload to add device-level intelligence to your solution: go beyond pure locationing to building a full telemetry channel for your product.

Dashboard Visualization​

Micro-telemetry encoded using the type/value index can be visualized directly in your Hubble Dashboard (log in or sign up).

When a device transmits a payload that contains a known type-value pair defined in the table below, the Device Detail view in Dash will atuomatically:

  • Decode the payload inline in the Packet History widget, creating a data log.
  • Plot time-series data in the Sensor Widget, for recognized data types that return a range of values.

Supported Type-Value Pairs​

If a payload byte sequence matches a type ID in this table, the Dashboard will decode and display that reading. Unrecognized type IDs are shown as raw base64 encoded strings.

Environmental​

Type IDSensor NameValue FormatUnit
0x01Temperature (High Res)Signed 16-bit integer × 0.01°C
0x02TemperatureSigned 8-bit integer°C
0x03HumidityUnsigned 8-bit integer × 0.5%
0x04Barometric PressureUnsigned 16-bit integer × 0.1hPa
0x05CO₂Unsigned 16-bit integerppm
0x06Air Quality IndexUnsigned 8-bit integer—
0x07Light LevelUnsigned 16-bit integerlux
0x08UV IndexUnsigned 8-bit integer × 0.1—
0x09Sound LevelUnsigned 8-bit integerdB

Motion & Position​

Type IDSensor NameValue FormatUnit
0x10AccelerometerThree signed 16-bit integers (x, y, z)mg
0x11GPSTwo signed 32-bit integers (lat, lon) × 1×10⁻⁷—
0x12GPS DeltaTwo signed 16-bit integers (lat∆, lon∆) × 1×10⁻⁴—
0x13OrientationUnsigned 16-bit integer × 0.01°
0x14Motion DetectedUnsigned 8-bit integer (bit 0 = motion)—

Power​

Type IDSensor NameValue FormatUnit
0x20Battery PercentUnsigned 8-bit integer%
0x21Battery VoltageUnsigned 16-bit integer × 0.001V

Generic​

Type IDSensor NameValue FormatUnit
0x30Counter (8-bit)Unsigned 8-bit integer—
0x31Counter (16-bit)Unsigned 16-bit integer—
0x32Counter (32-bit)Unsigned 32-bit integer—
0x33Raw ByteUnsigned 8-bit integer—
0x34Raw WordUnsigned 16-bit integer—
0x35Raw DWordUnsigned 32-bit integer—
0x36PercentageUnsigned 8-bit integer × 0.5%

Reach Out: Want to see a specific data type added for Dashboard to decode? Please submit feedback.


Programming Your Device​

When generating a BLE advertisement from your application firmware, pass your custom data using the Device SDK Functions API. The custom payload field accepts any byte sequence you choose.

To have your payload automatically decoded and visualized in the Dashboard, encode it using the Hubble type-value format:

  • First byte must be the type byte for the specific type/value pair.
  • Following byte(s) must be the value byte(s).
  • Values use little-endian encoding for multi-byte integers.
  • Multiple readings can be concatenated in a single payload, but only the first type/value pair is decoded.

See NovelBit's Hubble Tutorial using Nordic's nRF54L15, including step-by-step instructions to transmit temperature sensor reading as custom payload.