Internet weather
Two internet providers, one Raspberry Pi, a month of speed tests run side by side to settle an argument: cable or 5G.
The Pi is a Raspberry Pi 5 wedged next to the router, hostname lamppost, with two wired uplinks: Astound cable on one port, T-Mobile 5G home internet on the other. Every fifteen minutes it runs the same Ookla speed test out each interface, and every minute it pings 8.8.8.8 and 1.1.1.1 down both. So the two providers get measured against the same clock, under the same roof, on the same hardware. The question was which one to trust for streaming and video calls.
Download speed, both ISPs
Loading the speed history…
Hourly median download in Mbps. The vertical mark is the cable replacement. Astound (green) jumps; T-Mobile (amber) holds steady.
For the first eleven days Astound was a disappointment: a gigabit plan delivering around 48 Mbps. Then on March 19 a technician ran new coax to the house, and the line jumped to roughly 940 Mbps within the hour. The vertical mark is that moment. It still slips back to 50 for stretches afterward, the low band of green dots, so the cable was not entirely done misbehaving. T-Mobile held steady near 225 the whole time, never embarrassing itself, never winning.
Latency, median and p95
Loading the latency history…
Hourly ping latency on a log scale. Solid is the median, dashed is the p95 (the bad tail). Astound stays in a tight low band; T-Mobile's p95 wanders into the hundreds of milliseconds.
Speed is the loud number, but latency is the one that decides a video call. Astound settles into a tight band near 12 to 15 ms. T-Mobile's median is fine, but its tail is not: the p95 climbs into the hundreds of milliseconds, right where a call starts to stutter. After a month the verdict was Astound, once the cable was fixed, with T-Mobile a genuinely usable backup on a second interface.
A few honest notes. These are real Ookla CLI runs bound to each physical interface, not a synthetic benchmark, logged on the Pi and binned here to hourly medians. The headline figures are the project's own month-long medians; the raw per-test CSVs and the analysis live in the project repo. Phase 2 is underway: the same Pi is now mapping WiFi signal around the house to place a streaming camera.
Since then: the number that lied
Phase 1 was a finished experiment, but the Pi kept testing, and for weeks Astound kept posting 200 to 400 Mbps on a gigabit line. The obvious read: the new coax had gone bad, because a line that hit 940 in March would naturally just forget how. The line was fine. The speed test was picking a server up in Seattle instead of the one a few miles down the road in Port Orchard, and a distant server can't carry the whole line no matter how healthy the line is. Same trap as the first eleven days, one layer up: the number was confident, and it was measuring the wrong thing.
Download, split by which server the test picked
Loading the server split…
Hourly median download, June 22 to July 6. Green is the nearby Port Orchard server; amber is the distant Seattle one the test kept drifting to. The vertical mark is where I pinned the test to the nearby server. After that, the low band is gone.
The green dots hold near 900 the whole time. The amber ones are the same line in the same minute, measured against the far server, and they sit in the 200 to 600 band until the pin, then stop. Pinning the test to the nearby server was a one-line change. The line was never the problem, the ruler was. A tool that hands you a number earns the same scrutiny as the thing it measures. The rig has grown since: it reads the cable modem's DOCSIS counters to tell a real Astound outage from a modem reboot, and after one too many fixes hand-copied straight onto the Pi, it finally lives in version control instead of on a lonely SD card.
Sources
- Speed + latency — self-collected on the lamppost Raspberry Pi 5 with Ookla Speedtest CLI , interface-bound to each ISP, plus per-minute DNS pings.
- The two providers: Astound Broadband (cable) and T-Mobile 5G Home Internet.
- Code + analysis — trentleslie/internet-speed-monitor .