{"format":"ptob-page","version":1,"canonical":"https://ptob.dev/research/esp32-s3-causal-clock-discipline/","title":"ESP32-S3 causal clock discipline — PToB research","description":"The 22 October ESP32-S3 follow-up: 166.590 ns relative-PPS RMS across 657/660 records, with a separate second-board transfer and retained tails.","language":"en","robots":"index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1","dates":{"modified":"2026-10-30"},"authors":["Jonathan Yantis"],"mainEntity":"https://ptob.dev/papers/ptob-esp32s3-timing-preprint.pdf#article","representations":{"application/json":"https://ptob.dev/research/esp32-s3-causal-clock-discipline/?format=json","text/markdown":"https://ptob.dev/research/esp32-s3-causal-clock-discipline/?format=markdown"},"documentation":"https://ptob.dev/agent-formats.json","social":{"openGraph":{"title":"ESP32-S3 causal clock discipline — PToB research","description":"The 22 October ESP32-S3 follow-up: 166.590 ns relative-PPS RMS across 657/660 records, with a separate second-board transfer and retained tails.","url":"https://ptob.dev/research/esp32-s3-causal-clock-discipline/","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":"ESP32-S3 causal clock discipline — PToB research","description":"The 22 October ESP32-S3 follow-up: 166.590 ns relative-PPS RMS across 657/660 records, with a separate second-board transfer and retained tails.","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":"Precision Bluetooth Timing on ESP32-S3: Causal Clock Discipline and Hardware Event Capture","authors":["Jonathan Yantis"],"published":"2026-10-22","url":"https://ptob.dev/papers/ptob-esp32s3-timing-preprint.pdf"}],"provenance":{"sourceUrl":"https://ptob.dev/research/esp32-s3-causal-clock-discipline/","sourceMediaType":"text/html","sourceSha256":"ec2517a10edb2120e425874367fd80d93dc31c32f9dae3b82e14c4ad9d222121","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/esp32-s3-causal-clock-discipline/#webpage","url":"https://ptob.dev/research/esp32-s3-causal-clock-discipline/","name":"ESP32-S3 causal clock discipline — PToB research","description":"The 22 October ESP32-S3 follow-up: 166.590 ns relative-PPS RMS across 657/660 records, with a separate second-board transfer and retained tails.","inLanguage":"en","keywords":["Bluetooth clock synchronization","Precision Time over BLE","Implementation & time transfer"],"isPartOf":{"@id":"https://ptob.dev/#website"},"author":{"@id":"https://ptob.dev/#jonathan-yantis"},"about":{"@id":"https://ptob.dev/#protocol"},"dateModified":"2026-10-30","image":"https://ptob.dev/social/ptob-timing-v3.jpg","breadcrumb":{"@id":"https://ptob.dev/research/esp32-s3-causal-clock-discipline/#breadcrumbs"},"mainEntity":{"@id":"https://ptob.dev/papers/ptob-esp32s3-timing-preprint.pdf#article"}},{"@type":"BreadcrumbList","@id":"https://ptob.dev/research/esp32-s3-causal-clock-discipline/#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":"ESP32-S3 causal clock discipline","item":"https://ptob.dev/research/esp32-s3-causal-clock-discipline/"}]},{"@type":"ScholarlyArticle","@id":"https://ptob.dev/papers/ptob-esp32s3-timing-preprint.pdf#article","url":"https://ptob.dev/research/esp32-s3-causal-clock-discipline/","headline":"Precision Bluetooth Timing on ESP32-S3: Causal Clock Discipline and Hardware Event Capture","name":"Precision Bluetooth Timing on ESP32-S3: Causal Clock Discipline and Hardware Event Capture","description":"The 22 October ESP32-S3 follow-up: 166.590 ns relative-PPS RMS across 657/660 records, with a separate second-board transfer and retained tails.","author":{"@id":"https://ptob.dev/#jonathan-yantis"},"datePublished":"2026-10-22","dateModified":"2026-10-22","inLanguage":"en","creativeWorkStatus":"Research draft","about":{"@id":"https://ptob.dev/#protocol"},"mainEntityOfPage":{"@id":"https://ptob.dev/research/esp32-s3-causal-clock-discipline/#webpage"},"image":"https://ptob.dev/social/ptob-timing-v3.jpg","encoding":{"@type":"MediaObject","contentUrl":"https://ptob.dev/papers/ptob-esp32s3-timing-preprint.pdf","encodingFormat":"application/pdf"},"isPartOf":{"@id":"https://ptob.dev/research/#webpage"}}]}],"content":{"mediaType":"text/markdown","headings":[{"level":1,"text":"Precision Bluetooth Timing on ESP32-S3: Causal Clock Discipline and Hardware Event Capture","url":"https://ptob.dev/research/esp32-s3-causal-clock-discipline/#main"},{"level":2,"text":"Overview","url":"https://ptob.dev/research/esp32-s3-causal-clock-discipline/#overview-title"},{"level":2,"text":"What this paper covers","url":"https://ptob.dev/research/esp32-s3-causal-clock-discipline/#learn-title"},{"level":2,"text":"Research scope","url":"https://ptob.dev/research/esp32-s3-causal-clock-discipline/#scope-title"},{"level":2,"text":"Read it in context","url":"https://ptob.dev/research/esp32-s3-causal-clock-discipline/#context-title"},{"level":2,"text":"Cite this edition","url":"https://ptob.dev/research/esp32-s3-causal-clock-discipline/#citation-title"},{"level":2,"text":"The full paper","url":"https://ptob.dev/research/esp32-s3-causal-clock-discipline/#main"},{"level":2,"text":"Continue exploring","url":"https://ptob.dev/research/esp32-s3-causal-clock-discipline/#related-title"}],"links":[{"text":"Read PDF","url":"https://ptob.dev/papers/preview/?file=%2Fpapers%2Fptob-esp32s3-timing-preprint.pdf"},{"text":"Cite this edition","url":"https://ptob.dev/research/esp32-s3-causal-clock-discipline/#citation"},{"text":"Selected experiment and reproduction","url":"https://github.com/yantisj2/PToB/tree/main/evidence/s3/2026-10-22-fine"},{"text":"Later W12 baseline","url":"https://ptob.dev/research/#w12-utc-basis"},{"text":"Original PDF","url":"https://ptob.dev/papers/preview/?file=%2Fpapers%2Fptob-esp32s3-timing-preprint.pdf"},{"text":"https://ptob.dev/research/esp32-s3-causal-clock-discipline/","url":"https://ptob.dev/research/esp32-s3-causal-clock-discipline/"},{"text":"Read PDF","url":"https://ptob.dev/papers/preview/?file=%2Fpapers%2Fptob-esp32s3-timing-preprint.pdf"},{"text":"Cite this edition","url":"https://ptob.dev/research/esp32-s3-causal-clock-discipline/#citation"},{"text":"Paper sources on GitHub","url":"https://github.com/yantisj2/PToB/blob/main/papers/README.md"},{"text":"Affordable timing from Starlink over WiFi","url":"https://ptob.dev/research/starlink-wifi-timing/"},{"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":"Timing information and power scheduling","url":"https://ptob.dev/research/awake-timing-power-scheduling/"},{"text":"All research & evidence","url":"https://ptob.dev/research/"}],"text":"# Precision Bluetooth Timing on ESP32-S3: Causal Clock Discipline and Hardware Event Capture\n\nResearch draft  22 October 2026  8 pages · PDF\n\nHow does internal causal clock quality compare with an independently observed relative PPS result?\n\n[Read PDF](https://ptob.dev/papers/preview/?file=%2Fpapers%2Fptob-esp32s3-timing-preprint.pdf)[Cite this edition](https://ptob.dev/research/esp32-s3-causal-clock-discipline/#citation)\n\n## Overview\n\nThe completed 660-second ESP32-S3 experiment measured 166.590 ns relative-PPS RMS across 657 eligible records, with three invalid and zero nominal missing. A fresh N30 second-board transfer measured 150.954 ns RMS across 48 eligible of 64 records.\n\n## What this paper covers\n\n- Separate internal prediction RMS from delivered relative-PPS error.\n- Keep calibration-selected data distinct from fresh transfer validation.\n- Retain output tails and every unavailable record when assessing a timing target.\n\n## Research scope\n\nThe first window retains a 1,591 ns maximum. The later transfer retains 16 invalid records and a 362 ns maximum. An observed 49 ns internal display RMS is a different metric. The sub-100 ns downstream target, RF endpoint delay, physical output and absolute UTC remain unqualified.\n\n## Read it in context\n\nThis is the dated 22 October follow-up. The 24 October W12 baseline is a separate later population with different source versions and calibration; it does not overwrite this paper’s measurements.\n\n[Selected experiment and reproduction](https://github.com/yantisj2/PToB/tree/main/evidence/s3/2026-10-22-fine)[Later W12 baseline](https://ptob.dev/research/#w12-utc-basis)\n\n## Cite this edition\n\nJonathan Yantis. Precision Bluetooth Timing on ESP32-S3: Causal Clock Discipline and Hardware Event Capture. 22 October 2026. Research draft. [Original PDF](https://ptob.dev/papers/preview/?file=%2Fpapers%2Fptob-esp32s3-timing-preprint.pdf).\n\nSummary permalink: [https://ptob.dev/research/esp32-s3-causal-clock-discipline/](https://ptob.dev/research/esp32-s3-causal-clock-discipline/)\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%2Fptob-esp32s3-timing-preprint.pdf)\n[Cite this edition](https://ptob.dev/research/esp32-s3-causal-clock-discipline/#citation)\n\n[Paper sources on GitHub](https://github.com/yantisj2/PToB/blob/main/papers/README.md)\n\n## Continue exploring\n\n[Affordable timing from Starlink over WiFi](https://ptob.dev/research/starlink-wifi-timing/)[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/)[Timing information and power scheduling](https://ptob.dev/research/awake-timing-power-scheduling/)[All research & evidence](https://ptob.dev/research/)"}}
