Payload Optimizer Tool
Turn readable sensor values into compact, bit-packed satellite telemetry messages. Define your fields, preview the exact hex, and generate an editable C payload builder.
Build locally. Save your configuration when ready.
Field definitions, example values, generated hex, and C code are calculated locally. Download a JSON file to keep your work or load it again later. If you choose to email your configuration, your email address, name (optional), saved fields, and code are sent to Telemetry Station to deliver that email.
Set the payload limit
The optimizer checks both your example message and the worst-case field sizes against the selected Iridium transport.
Configure payload fields
Fields are encoded from top to bottom. Reorder them deliberately: a future parser must use this same schema and order.
Decode · Inspect · Integrate
From hex to sensor values.
Paste the application payload from your firmware to inspect every field in definition order. Decoding uses the fields above and runs entirely in your browser.
Accepts a leading 0x, spaces and newlines. Paste payload bytes only, without transport headers. Changing the schema reinterprets these bytes; use the exact schema used by the sending firmware.
Decoded 7 fields · 168 data bits · 0 zero padding bits
Byte inspector
21 bytesSelect a field below to highlight its bytes, including its length prefix. Click a byte to select its field; click again to cycle through fields sharing that byte.
Bits [0, 25) · 25 bits
Fixed-width field · no alignment gap
Decoded fields
Definition order · zero-based bit offsets · MSB first| # | Field | Type | Decoded value | Bit offset | Bits used |
|---|---|---|---|---|---|
| 1 | Scaled decimal | 32.87051 | 0 | 25 | |
| 2 | Scaled decimal | -117.24103 | 25 | 26 | |
| 3 | Unsigned integer | 37 | 51 | 12 | |
| 4 | Signed integer | -27 | 63 | 16 | |
| 5 | Boolean | true | 79 | 1 | |
| 6 | ASCII text | "BUOY-01" | 80 | 60incl. 4-bit prefix | |
| 7 | Raw bytes | 01ff10 | 140 | 28incl. 4-bit prefix |
Numeric values export as decimal strings to preserve precision, including 64-bit counters. Variable-length fields shift subsequent offsets according to their actual length. A successful decode checks this layout, lengths and padding; it does not verify message authenticity or identify a mismatched schema with the same layout.
Editable C program
The example variables are defined at the top of main. Edit the generated starter code here, copy it, or download a .c file.
Generated code is a transparent starting point. Validate the byte order and schema against your receiving decoder before deploying it to production firmware.
Price and activate your Iridium service.
Use the optimized payload size in the Telemetry Station calculator to estimate the right plan for your deployment.