{"format":"ptob-page","version":1,"canonical":"https://ptob.dev/research/starlink-wifi-timing/","title":"Affordable timing from Starlink over WiFi — PToB research","description":"Explore affordable timing with an existing Starlink, WiFi beacons and an ESP32-S3: 19.226/8.240 µs RMS in two GNSS-phase-calibrated runs. Portable UTC accuracy remains unqualified.","language":"en","robots":"index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1","dates":{"modified":"2026-11-03"},"authors":["Jonathan Yantis"],"mainEntity":"https://ptob.dev/papers/starlink-wifi-hybrid-timing-20261103.pdf#article","representations":{"application/json":"https://ptob.dev/research/starlink-wifi-timing/?format=json","text/markdown":"https://ptob.dev/research/starlink-wifi-timing/?format=markdown"},"documentation":"https://ptob.dev/agent-formats.json","social":{"openGraph":{"title":"Affordable timing from Starlink over WiFi — PToB research","description":"Explore affordable timing with an existing Starlink, WiFi beacons and an ESP32-S3: 19.226/8.240 µs RMS in two GNSS-phase-calibrated runs. Portable UTC accuracy remains unqualified.","url":"https://ptob.dev/research/starlink-wifi-timing/","type":"article","siteName":"PToB","locale":"en_US","image":{"url":"https://ptob.dev/social/ptob-timing-v3.jpg","secureUrl":"https://ptob.dev/social/ptob-timing-v3.jpg","type":"image/jpeg","width":"1200","height":"630","alt":"PToB: nanosecond time sync over Bluetooth. T096: 62.5 ns one-relay PPS-shadow RMS. W12 ESP32-S3: 60.3 ns relative-PPS RMS; 522/600 eligible, max 180 ns."}},"twitter":{"card":"summary_large_image","title":"Affordable timing from Starlink over WiFi — PToB research","description":"Explore affordable timing with an existing Starlink, WiFi beacons and an ESP32-S3: 19.226/8.240 µs RMS in two GNSS-phase-calibrated runs. Portable UTC accuracy remains unqualified.","image":{"url":"https://ptob.dev/social/ptob-timing-v3.jpg","alt":"PToB: nanosecond time sync over Bluetooth. T096: 62.5 ns one-relay PPS-shadow RMS. W12 ESP32-S3: 60.3 ns relative-PPS RMS; 522/600 eligible, max 180 ns."}}},"citations":[{"title":"Paired Clock Time Transfer from Starlink over Wi-Fi: Causal Filtering, Drift, and GNSS-Shadow Validation","authors":["Jonathan Yantis"],"published":"2026-11-03","url":"https://ptob.dev/papers/starlink-wifi-hybrid-timing-20261103.pdf"}],"provenance":{"sourceUrl":"https://ptob.dev/research/starlink-wifi-timing/","sourceMediaType":"text/html","sourceSha256":"ec25fa66b390d239b73c7b4af46f272af2455493b209d674164bbb3ed8c23e43","rightsUrl":"https://github.com/yantisj2/PToB/blob/main/LICENSING.md"},"contentUsage":{"aiTrain":true,"search":true,"aiInput":true,"reason":"summary-or-introduction"},"structuredData":[{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://ptob.dev/#website","url":"https://ptob.dev/","name":"PToB","alternateName":["Precision Time over BLE","Precision Time over Bluetooth"],"description":"Bluetooth and USB software clocks: W12 60.3 ns relative-PPS RMS over 522/600 observations, separate 64 s sampled holdover, and CoreSE diagnostics.","inLanguage":["en","de"],"publisher":{"@id":"https://ptob.dev/#jonathan-yantis"}},{"@type":"Person","@id":"https://ptob.dev/#jonathan-yantis","name":"Jonathan Yantis","url":"https://github.com/yantisj2/PToB/blob/main/CREDITS.md"},{"@type":"Project","@id":"https://ptob.dev/#project","name":"PToB","alternateName":"Precision Time over BLE","url":"https://ptob.dev/","description":"An independent protocol project researching precision time transfer across Bluetooth-enabled microcontrollers and USB clients.","sameAs":"https://github.com/yantisj2/PToB","member":{"@id":"https://ptob.dev/#jonathan-yantis"},"knowsAbout":{"@id":"https://ptob.dev/#protocol"}},{"@type":"Thing","@id":"https://ptob.dev/#protocol","name":"Precision Time over BLE","alternateName":"PToB","description":"An experimental PTP-inspired protocol proposal for wireless clock synchronization over Bluetooth Low Energy."},{"@type":"WebPage","@id":"https://ptob.dev/research/starlink-wifi-timing/#webpage","url":"https://ptob.dev/research/starlink-wifi-timing/","name":"Affordable timing from Starlink over WiFi — PToB research","description":"Explore affordable timing with an existing Starlink, WiFi beacons and an ESP32-S3: 19.226/8.240 µs RMS in two GNSS-phase-calibrated runs. Portable UTC accuracy remains unqualified.","inLanguage":"en","keywords":["Starlink terminal NTP","WiFi beacon timing","ESP32-S3 clock synchronization"],"isPartOf":{"@id":"https://ptob.dev/#website"},"author":{"@id":"https://ptob.dev/#jonathan-yantis"},"about":{"@id":"https://ptob.dev/#protocol"},"dateModified":"2026-11-03","image":"https://ptob.dev/social/ptob-timing-v3.jpg","breadcrumb":{"@id":"https://ptob.dev/research/starlink-wifi-timing/#breadcrumbs"},"mainEntity":{"@id":"https://ptob.dev/papers/starlink-wifi-hybrid-timing-20261103.pdf#article"}},{"@type":"BreadcrumbList","@id":"https://ptob.dev/research/starlink-wifi-timing/#breadcrumbs","itemListElement":[{"@type":"ListItem","position":1,"name":"PToB","item":"https://ptob.dev/"},{"@type":"ListItem","position":2,"name":"Bluetooth and Starlink timing research and results","item":"https://ptob.dev/research/"},{"@type":"ListItem","position":3,"name":"Affordable timing from Starlink over WiFi","item":"https://ptob.dev/research/starlink-wifi-timing/"}]},{"@type":"ScholarlyArticle","@id":"https://ptob.dev/papers/starlink-wifi-hybrid-timing-20261103.pdf#article","url":"https://ptob.dev/research/starlink-wifi-timing/","headline":"Paired Clock Time Transfer from Starlink over Wi-Fi: Causal Filtering, Drift, and GNSS-Shadow Validation","name":"Paired Clock Time Transfer from Starlink over Wi-Fi: Causal Filtering, Drift, and GNSS-Shadow Validation","description":"Explore affordable timing with an existing Starlink, WiFi beacons and an ESP32-S3: 19.226/8.240 µs RMS in two GNSS-phase-calibrated runs. Portable UTC accuracy remains unqualified.","author":{"@id":"https://ptob.dev/#jonathan-yantis"},"datePublished":"2026-11-03","dateModified":"2026-11-03","inLanguage":"en","creativeWorkStatus":"Public-review research draft","about":["Starlink terminal NTP","WiFi beacon timing","ESP32-S3 clock synchronization"],"mainEntityOfPage":{"@id":"https://ptob.dev/research/starlink-wifi-timing/#webpage"},"image":"https://ptob.dev/social/ptob-timing-v3.jpg","encoding":{"@type":"MediaObject","contentUrl":"https://ptob.dev/papers/starlink-wifi-hybrid-timing-20261103.pdf","encodingFormat":"application/pdf"},"isPartOf":{"@id":"https://ptob.dev/research/#webpage"}}]}],"content":{"mediaType":"text/markdown","headings":[{"level":1,"text":"Paired Clock Time Transfer from Starlink over Wi-Fi: Causal Filtering, Drift, and GNSS-Shadow Validation","url":"https://ptob.dev/research/starlink-wifi-timing/#main"},{"level":2,"text":"Overview","url":"https://ptob.dev/research/starlink-wifi-timing/#overview-title"},{"level":2,"text":"What you need","url":"https://ptob.dev/research/starlink-wifi-timing/#equipment-title"},{"level":2,"text":"The paired results","url":"https://ptob.dev/research/starlink-wifi-timing/#paired-title"},{"level":2,"text":"What this paper covers","url":"https://ptob.dev/research/starlink-wifi-timing/#learn-title"},{"level":2,"text":"Research scope","url":"https://ptob.dev/research/starlink-wifi-timing/#scope-title"},{"level":2,"text":"Read it in context","url":"https://ptob.dev/research/starlink-wifi-timing/#context-title"},{"level":2,"text":"Cite this edition","url":"https://ptob.dev/research/starlink-wifi-timing/#citation-title"},{"level":2,"text":"The full paper","url":"https://ptob.dev/research/starlink-wifi-timing/#main"},{"level":2,"text":"Continue exploring","url":"https://ptob.dev/research/starlink-wifi-timing/#related-title"}],"links":[{"text":"Read PDF","url":"https://ptob.dev/papers/preview/?file=%2Fpapers%2Fstarlink-wifi-hybrid-timing-20261103.pdf"},{"text":"Cite this edition","url":"https://ptob.dev/research/starlink-wifi-timing/#citation"},{"text":"Inspect the paired Starlink results","url":"https://ptob.dev/research/#starlink-wifi"},{"text":"Paper source, selected data and offline reproduction","url":"https://github.com/yantisj2/PToB/tree/main/papers/starlink-wifi-hybrid-timing"},{"text":"Public-review approval receipt","url":"https://github.com/yantisj2/PToB/blob/main/papers/starlink-wifi-hybrid-timing/publication.json"},{"text":"Original PDF","url":"https://ptob.dev/papers/preview/?file=%2Fpapers%2Fstarlink-wifi-hybrid-timing-20261103.pdf"},{"text":"https://ptob.dev/research/starlink-wifi-timing/","url":"https://ptob.dev/research/starlink-wifi-timing/"},{"text":"Read PDF","url":"https://ptob.dev/papers/preview/?file=%2Fpapers%2Fstarlink-wifi-hybrid-timing-20261103.pdf"},{"text":"Cite this edition","url":"https://ptob.dev/research/starlink-wifi-timing/#citation"},{"text":"Paper sources on GitHub","url":"https://github.com/yantisj2/PToB/blob/main/papers/README.md"},{"text":"Trustworthy timing in Zephyr","url":"https://ptob.dev/research/zephyr-hardware-timestamps/"},{"text":"Low-level timing on ESP32-S3","url":"https://ptob.dev/research/esp32-s3-event-capture/"},{"text":"BLE timing tails and multipath","url":"https://ptob.dev/research/ble-timing-tails-multipath/"},{"text":"From BLE to a Pi NTP/PTP gateway","url":"https://ptob.dev/research/pi5-mhat-time-gateway/"},{"text":"From USB frames to a macOS clock","url":"https://ptob.dev/research/usb-macos-time-transfer/"},{"text":"Empirical BLE-trained holdover","url":"https://ptob.dev/research/empirical-ble-holdover/"},{"text":"ESP32-S3 causal clock discipline","url":"https://ptob.dev/research/esp32-s3-causal-clock-discipline/"},{"text":"Timing information and power scheduling","url":"https://ptob.dev/research/awake-timing-power-scheduling/"},{"text":"All research & evidence","url":"https://ptob.dev/research/"}],"text":"# Paired Clock Time Transfer from Starlink over Wi-Fi: Causal Filtering, Drift, and GNSS-Shadow Validation\n\nPublic-review research draft  3 November 2026  7 pages · PDF\n\nHow much timing performance can you get from the Starlink and WiFi access point you already own?\n\n[Read PDF](https://ptob.dev/papers/preview/?file=%2Fpapers%2Fstarlink-wifi-hybrid-timing-20261103.pdf)[Cite this edition](https://ptob.dev/research/starlink-wifi-timing/#citation)\n\n## Overview\n\nIf you already have Starlink, its local terminal NTP service and ordinary WiFi beacons offer an affordable timing experiment. This study uses an ESP32-S3 W12 client to combine NTP time with the access point’s beacon clock, then compares that hybrid with an NTP-only local-clock estimate. The robust hybrid reached 19.226 µs and 8.240 µs RMS in two runs after a fixed prior GNSS phase correction. The opportunity is better use of existing equipment; reproducing these calibrated results still requires a GNSS reference.\n\n## What you need\n\n- An existing Starlink dish and WiFi access point. The experiment queries the terminal’s local NTP service; it does not extract timing from the satellite radio signal.\n- A client that exposes WiFi receive-event timestamps. The tested client is an ESP32-S3 W12; an ordinary phone or laptop app may not expose the required timing information.\n- A GNSS PPS reference to measure each model’s prior phase correction and validate the result. That correction is specific to the client, path, boot and model; an uncalibrated installation does not inherit the reported RMS.\n\n## The paired results\n\nTwo runs each used 900 seconds of training followed by 900 seconds of evaluation. Both methods were compared against the same 900 future GNSS pulse-per-second (PPS) witnesses per run, with every tail retained.\n\nNTP only denotes the AP-free NTP/local WLS900 control; NTP + WiFi denotes the nominated robust AP model.\n\n| Run / method | RMS (µs) | Abs. P99 (µs) | Scored PPS |\n| --- | --- | --- | --- |\n| R1 · NTP only | 37.180 | 67.329 | 900/900 |\n| R1 · NTP + WiFi | 19.226 | 43.079 | 900/900 |\n| R2 · NTP only | 35.662 | 54.767 | 900/900 |\n| R2 · NTP + WiFi | 8.240 | 20.069 | 900/900 |\n\nThe beacon-assisted result uses the nominated robust filter. Each method has its own GNSS-measured phase correction fixed before validation; GNSS never trains frequency. Without that correction, raw phase RMS remains above 200 µs. In the first run, bias improves while centered scatter slightly worsens; the second improves both. Other beacon fits and servos have mixed outcomes.\n\nComplete 900/900 validation coverage does not establish continuous timing availability; native AP unavailability remains unknown.\n\n## What this paper covers\n\n- How NTP supplies time while frequent WiFi beacons provide a second clock coordinate.\n- How robust filtering compares with an NTP-only baseline on the same future observations.\n- Why phase bias, centered scatter and drift answer different performance questions.\n- How continuously updated estimates with a 60-second source lease differ from frozen-clock holdover.\n\n## Research scope\n\nEach of the two validation runs uses 900 seconds of training and all 900 future PPS witnesses, with parameters locked beforehand. Prior-phase-corrected RMS is 19.226/8.240 µs for the robust hybrid versus 37.180/35.662 µs for NTP only. Raw phase RMS remains above 200 µs. These are calibrated PPS-input comparisons, without portable GNSS-free UTC accuracy, continuous availability or measured electrical output. Differences in weights, coordinates and admitted inputs prevent attributing all improvement to the access point oscillator.\n\n## Read it in context\n\nUse this paper to evaluate an affordable timing approach and its calibration requirements, rather than as a ready-to-install timing service. The first run improves bias while slightly worsening centered scatter; the second improves both. Ordinary AP fits and servos have mixed outcomes. Earlier failed gates, incomplete histories and frozen forecasts remain separate in the paper and public supplement. The author approved the unchanged seven-page PDF for public draft review on 3 November; its earlier author-review labels remain in the document.\n\n[Inspect the paired Starlink results](https://ptob.dev/research/#starlink-wifi)[Paper source, selected data and offline reproduction](https://github.com/yantisj2/PToB/tree/main/papers/starlink-wifi-hybrid-timing)[Public-review approval receipt](https://github.com/yantisj2/PToB/blob/main/papers/starlink-wifi-hybrid-timing/publication.json)\n\n## Cite this edition\n\nJonathan Yantis. Paired Clock Time Transfer from Starlink over Wi-Fi: Causal Filtering, Drift, and GNSS-Shadow Validation. 3 November 2026. Public-review research draft. [Original PDF](https://ptob.dev/papers/preview/?file=%2Fpapers%2Fstarlink-wifi-hybrid-timing-20261103.pdf).\n\nSummary permalink: [https://ptob.dev/research/starlink-wifi-timing/](https://ptob.dev/research/starlink-wifi-timing/)\n\nJonathan Yantis leads protocol design, hardware development and research. GPT 6.1 contributes implementation, analysis and documentation. This page summarizes the linked edition; retain its original evidence dates and measurement references.\n\n## The full paper\n\nThe original document includes the technical detail and references behind this summary.\n\n[Read PDF](https://ptob.dev/papers/preview/?file=%2Fpapers%2Fstarlink-wifi-hybrid-timing-20261103.pdf)\n[Cite this edition](https://ptob.dev/research/starlink-wifi-timing/#citation)\n\n[Paper sources on GitHub](https://github.com/yantisj2/PToB/blob/main/papers/README.md)\n\n## Continue exploring\n\n[Trustworthy timing in Zephyr](https://ptob.dev/research/zephyr-hardware-timestamps/)[Low-level timing on ESP32-S3](https://ptob.dev/research/esp32-s3-event-capture/)[BLE timing tails and multipath](https://ptob.dev/research/ble-timing-tails-multipath/)[From BLE to a Pi NTP/PTP gateway](https://ptob.dev/research/pi5-mhat-time-gateway/)[From USB frames to a macOS clock](https://ptob.dev/research/usb-macos-time-transfer/)[Empirical BLE-trained holdover](https://ptob.dev/research/empirical-ble-holdover/)[ESP32-S3 causal clock discipline](https://ptob.dev/research/esp32-s3-causal-clock-discipline/)[Timing information and power scheduling](https://ptob.dev/research/awake-timing-power-scheduling/)[All research & evidence](https://ptob.dev/research/)"}}
