Is my receiver actually feeding? The station page now answers

· feeders · adsb · network

Running an ADS-B receiver is an unusual hobby in one specific way: the thing you build sits on a windowsill or a roof and then, if you did it right, does absolutely nothing visible for months. There is no screen on it. The only way to know it is still doing its job is to ask somewhere else.

Until today, /feed — the Skydex Feeder Network page — was a poor place to ask. It listed the receivers you had registered, gave you the connector line to paste into ultrafeeder or the adsb.im web UI, and next to each one printed a single line: last packet <date>. That field is stamped by a sweep that runs once a minute, so a healthy station showed a timestamp from a minute ago and a station that died three days ago showed a timestamp from three days ago. Same sentence, same styling, no difference in emphasis. You had to read the date and do the arithmetic yourself, and if you had never fed at all you got "no data received yet" with no hint about whether the problem was your antenna, your config line, or us.

Meanwhile the data to answer properly was already on the box. The ingest is readsb in net-ingest mode, and it publishes clients.json: one row per connected Beast client, carrying the receiver's uuid, its average uplink in kbit/s, how long the connection has been up, messages per second, positions per second, round-trip latency, and the number of positions delivered over the lifetime of that connection. We were reading that file every minute already — to count "receivers online" for the landing strip and to stamp the timestamp mentioned above — and then throwing every per-station number away.

Now each row on your station list shows what the ingest sees, refreshed while the page is open:

positions/s, uplink, latency, and positions this session, plus how long the connection has been up.

work was worth doing. A Beast connection sitting at 0 messages per second is the most common real fault in this hobby: the feeder container is up and talking to us, but the SDR behind it is not decoding — dongle unplugged, antenna cable off, or another program has claimed the stick. Lumping that in with "online" hides a broken station behind a green light.

page asked. It is deliberately a separate state and it says so out loud: telling you your receiver is down when the fault is on our side would send you up a ladder for nothing.

Two smaller notes. The page polls every twenty seconds now, so you can leave it open on a second screen while re-aiming an antenna and watch positions per second move. And the network line at the top of the page — receivers registered, receivers online, aircraft heard in the last 24 hours — keeps updating on the same tick rather than freezing at whatever it said when the tab loaded.

One more thing came out of the same session. tar1090 — the live coverage map — has always had a per-receiver view at ?feed=<uuid>, and it never worked here: that view does not filter in the browser, it re-fetches from readsb's query API, and the API was switched off on our ingest, so the filtered map came back empty. It is on now, and each station row carries a "show only this receiver's traffic on the map" link. The link appears only after the server has proven the filter actually works — asking for everything, then asking with an impossible receiver id and checking that fewer aircraft come back. A link labelled "only my station" that quietly showed the whole network would be worse than no link.

What is not possible, so you know where the edge is: a coverage outline for a single station. The teal outline on the map is computed by readsb from every position it received in the last 24 hours, measured from one fixed centre point, and it is the same shape for every visitor. There is no per-receiver equivalent in what readsb writes. When receivers spread out geographically that single outline will stop being meaningful, and the honest fix then is to stop drawing it rather than to pretend it describes anyone's antenna.

Nothing about the feed itself changed: same host, same port, same connector line, same uuid. If your station was feeding yesterday it is feeding today, and the page will now say so in as many words. Questions, or a station that shows amber and you cannot work out why — the #feeders channel on Discord is the place; a human answers.

More from Skydex

Play Skydex free →