Docs · Using SondeFox
SondeHub integration
SondeHub is the community radiosonde tracking network — hundreds of receiver stations worldwide feeding one live map of every sonde in the air. SondeFox talks to it in both directions: it pulls the community picture down to your phone, and (only if you opt in) contributes your own decodes back.
Implemented & tested
This is the most fully realized integration in the app. Every feature on this page is implemented against the published SondeHub API spec (api.v2.sondehub.org) and covered by JVM tests, including real-HTTP tests against a mock server. What remains is simply more real-world field mileage — which is what the beta is for.
What SondeFox does with SondeHub
See the picture before you decode
SondeFox passively pulls the list of nearby active sondes from SondeHub (GET /sondes/telemetry) and merges them into your Sondes list. Before your own receiver has locked onto anything, you already know what's in the air near you, where other stations last heard it, and roughly where to point your antenna. This pull is read-only, always on, and sends nothing about you beyond an ordinary API request.
Landing predictions
For a sonde you're chasing, SondeFox fetches the community landing prediction (GET /predict) and shows it on the Chase map as the predicted-landing marker. If you're offline or the prediction isn't available, the app falls back to a local linear estimate so the chase readout never goes blank.
Telemetry upload (opt-in)
If you enable uploads in Settings and configure a callsign, SondeFox contributes your decoded frames to the network via PUT /sondes/telemetry. The upload path is built to be a well-behaved network citizen:
- CRC-valid frames only — garbage never leaves the device, so your station doesn't pollute the public stream.
- ~5 s batching — frames are queued and flushed roughly every five seconds instead of hammering the API per-frame.
- Rate-limit backoff — on HTTP 429 the app honors the server's
Retry-Afterheader and re-queues the batch rather than retrying blindly. - Callsign required — uploads are tied to a station identity you choose; there is no anonymous firehose.
- Live status — a status row in Settings shows last sync time, upload counts, throttle state, and the last error, so you always know what your station is doing.
Uploaded telemetry contains the sonde's position, PTU, and frequency — never your own location.
Chase-car mode (separately opt-in)
Chase-car mode is the one and only feature in SondeFox that transmits your position. It is a separate, clearly labelled toggle — enabling telemetry upload does not enable it — and it is off by default. When on, the app sends listener updates (PUT /listeners/telemetry with mobile=true) so you appear as a moving chase car on the public SondeHub map, which is handy for coordinating with other chasers heading for the same sonde.
Recovery reports
Found it? Tap Mark Recovered and SondeFox files a recovery report (PUT /recovery) with the serial, position, recovered flag, and an optional description. Recovery reports help the community know which sondes are already accounted for — nobody enjoys driving two hours to a field someone else cleared yesterday.
Station metadata
Alongside uploads you can describe your receive setup — the uploader_radio and uploader_antenna fields — so your contributions carry useful context for the rest of the network.
Offline behavior
Decoding is fully local, so losing signal bars doesn't end a chase. SondeFox caches the last known target and prediction and keeps navigating; when the connection comes back, any queued telemetry still within the upload window is flushed automatically.
Privacy: exactly what leaves the device
The privacy model is simple and strict: nothing uploads without opt-in, and your location never uploads unless chase-car mode is on.
| Data | When it leaves the device | Default |
|---|---|---|
| Nearby-sonde fetch & predictions | Ordinary read-only API requests; nothing about you is uploaded | Passive, always on |
| Decoded sonde telemetry (sonde position, PTU, frequency) + your callsign and radio/antenna metadata | Only after you opt in to uploads and set a callsign | Off |
| Your position (chase-car updates) | Only while the separate chase-car mode toggle is on | Off |
| Recovery reports (sonde serial, landing position, your note) | Only when you tap Mark Recovered and confirm | Manual, per report |
One more thing the in-app opt-in flow tells you, repeated here: anything you upload joins the public SondeHub stream and may be redistributed by SondeHub and downstream consumers. Opt in with that in mind — and see the site-wide privacy notes for the rest.
SondeHub is volunteer-run infrastructure that the whole chasing community depends on. SondeFox does its part automatically — CRC-checked frames only, batched uploads, respectful rate-limit backoff — but the human part is yours: pick a sensible callsign, upload only from a real receive setup, file recovery reports so others don't chase ghosts, and check your local laws before uploading or chasing. The network is only as good as the stations feeding it.