-
Notifications
You must be signed in to change notification settings - Fork 4
[DRAFT] Amateur Balloon Telemetry Format
This page describes the telemetry format that is uploaded to the SondeHub ElasticSearch Database.
Each telemetry datapoint is uploaded as a JSON object, with the fields described in the tables below. Multiple telemetry datapoints can be uploaded in one request.
These fields represent the bare minimum amount of data that must be included in an upload.
Field | Type | Description | Allowed Values | Notes |
---|---|---|---|---|
software_name |
string | Name of the decoding software | e.g. 'horusdemodlib', 'Horus-GUI' | |
software_version |
string | Version of the decoding software | e.g. '0.3.0' | |
uploader_callsign |
string | Callsign of the uploader | Arbitrary string. Uploader position information and other metadata will be handled separately, but will need to match this callsign to enable calculation of listener statistics. | |
time_received |
string | The time the telemetry packet was received. UTC time in YYYY-MM-DDTHH:MM:SS.SSSSSSZ format. |
||
payload_callsign |
string | Callsign of the payload being launched | ||
datetime |
string | Date/Time from the sonde's GPS, provided in YYYY-MM-DDTHH:MM:SS.SSSSSSZ format |
Note - as many amateur payloads only send time, not date, the date must be added on by the listener. Refer here for an example function to do this. | |
lat |
float | Latitude (decimal degrees) | ||
lon |
float | Longitude (decimal degrees) | ||
alt |
float | Altitude (metres) |
These fields should only be included in the uploaded JSON object if they are available, and considered to be reliable. Additional fields will be accepted however they may not be able to be queried from certain APIs.
Field | Type | Description | Notes |
---|---|---|---|
frame |
int | Frame Number, ideally unique over the entire flight. | |
temp |
float | Measured Temperature (deg C, generally assumed to be an internal temperature sensor) | |
ext_temperature |
float | External Temperature (deg C) | |
ext_humidity |
float | Measured Relative Humidity (%) | |
ext_pressure |
float | Measured Pressure (hPa) | |
vel_h |
float | Horizontal Velocity (assumed to be in m/s) | |
speed |
float | Horizontal Velocity (assumed to be in kph) (apologies for the two entries here...) | |
ascent_rate OR vel_v
|
float | Vertical Velocity (m/s) (The Horus binary decoders use the field name 'ascent_rate') | |
heading |
float | Heading (degrees True) | |
sats |
int | Number of SVs used in position solution | |
batt |
float | Battery Voltage (volts) | |
tx_frequency |
float | Transmit frequency of the radiosonde in MHz, as determined by information provided in the payload telemetry. | |
raw |
string | Raw payload packet, as ascii text starting with $$ for RTTY packets, or hexadecimal for binary packets. |
These fields provide additional information about how and where the payload telemetry was received. These are all optional, though we recommend sending modulation
and frequency
to inform other tracker users where and how the payload is transmitting.
Field | Type | Description | Notes |
---|---|---|---|
modulation |
str | Modulation of the signal, will be shown on the sidebar on the tracker. | Example values: 'APRS', 'Horus Binary', 'RTTY', 'LoRa', 'WSPR' |
baud_rate |
int | Baud rate of the modulation, not applicable to all modes. Rounded to the nearest Hz. | Examples: 50, 100 |
snr |
float | Signal-to-Noise ratio of the received signal, in dB | |
frequency |
float | Transmit frequency of the radiosonde in MHz, as estimated by the receiver software (e.g. FSK frequency estimation). | |
rssi |
float | Received-Signal-Strength-Indication of the payload signal, nominally in dBm | |
uploader_position |
list | Station position, as a list [lat, lon, alt] | |
uploader_antenna |
string | Station antenna information, free-text string. | |
uploader_radio |
string | Station radio information, free-text string. |