{"format":"ptob-page","version":1,"canonical":"https://ptob.dev/de/blog/passives-ble-esp32/","title":"ESP32-Uhrenabgleich unter einer Mikrosekunde über passives BLE — PToB-Blog","description":"Wie PToB relative Zeit unter einer Mikrosekunde durch passiven BLE-Empfang auf ESP32-S3 bringt und wie sich die Architektur von aktivem Wi-Fi FTM unterscheidet.","language":"de","robots":"index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1","dates":{"published":"2026-10-24T00:00:00.000Z","modified":"2026-10-24T00:00:00.000Z"},"authors":["Jonathan Yantis"],"mainEntity":"https://ptob.dev/de/blog/passives-ble-esp32/#article","representations":{"application/json":"https://ptob.dev/de/blog/passives-ble-esp32/?format=json","text/markdown":"https://ptob.dev/de/blog/passives-ble-esp32/?format=markdown"},"documentation":"https://ptob.dev/agent-formats.json","social":{"openGraph":{"title":"ESP32-Uhrenabgleich unter einer Mikrosekunde über passives BLE — PToB-Blog","description":"Wie PToB relative Zeit unter einer Mikrosekunde durch passiven BLE-Empfang auf ESP32-S3 bringt und wie sich die Architektur von aktivem Wi-Fi FTM unterscheidet.","url":"https://ptob.dev/de/blog/passives-ble-esp32/","type":"article","siteName":"PToB","locale":"de_DE","image":{"url":"https://ptob.dev/blog/passive-ble-esp32-clocks.jpg","secureUrl":"https://ptob.dev/blog/passive-ble-esp32-clocks.jpg","type":"image/jpeg","width":"1280","height":"743","alt":"Vier PToB-Entwicklungsinstrumente auf einer Fensterbank mit beleuchteten Anzeigen für Zeit und Quellenzustand."}},"twitter":{"card":"summary_large_image","title":"ESP32-Uhrenabgleich unter einer Mikrosekunde über passives BLE — PToB-Blog","description":"Wie PToB relative Zeit unter einer Mikrosekunde durch passiven BLE-Empfang auf ESP32-S3 bringt und wie sich die Architektur von aktivem Wi-Fi FTM unterscheidet.","image":{"url":"https://ptob.dev/blog/passive-ble-esp32-clocks.jpg","alt":"Vier PToB-Entwicklungsinstrumente auf einer Fensterbank mit beleuchteten Anzeigen für Zeit und Quellenzustand."}}},"citations":[],"provenance":{"sourceUrl":"https://ptob.dev/de/blog/passives-ble-esp32/","sourceMediaType":"text/html","sourceSha256":"8ac7800abd88e204f882d87fa025c2d4ca28b0c7c51214e995bd86e1d3fd1383","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/de/blog/passives-ble-esp32/#webpage","url":"https://ptob.dev/de/blog/passives-ble-esp32/","name":"ESP32-Uhrenabgleich unter einer Mikrosekunde über passives BLE — PToB-Blog","description":"Wie PToB relative Zeit unter einer Mikrosekunde durch passiven BLE-Empfang auf ESP32-S3 bringt und wie sich die Architektur von aktivem Wi-Fi FTM unterscheidet.","inLanguage":"de","keywords":["ESP32-S3","Passiver BLE-Empfang","Uhrenabgleich unter einer Mikrosekunde","Software PLL","Wi-Fi FTM"],"isPartOf":{"@id":"https://ptob.dev/#website"},"author":{"@id":"https://ptob.dev/#jonathan-yantis"},"about":{"@id":"https://ptob.dev/#protocol"},"dateModified":"2026-10-24T00:00:00.000Z","image":"https://ptob.dev/blog/passive-ble-esp32-clocks.jpg","breadcrumb":{"@id":"https://ptob.dev/de/blog/passives-ble-esp32/#breadcrumbs"},"mainEntity":{"@id":"https://ptob.dev/de/blog/passives-ble-esp32/#article"},"translationOfWork":{"@id":"https://ptob.dev/blog/passive-ble-esp32/#webpage"}},{"@type":"BreadcrumbList","@id":"https://ptob.dev/de/blog/passives-ble-esp32/#breadcrumbs","itemListElement":[{"@type":"ListItem","position":1,"name":"PToB","item":"https://ptob.dev/de/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https://ptob.dev/de/blog/"},{"@type":"ListItem","position":3,"name":"Zeitübertragung unter einer Mikrosekunde auf ESP32 mit passivem BLE","item":"https://ptob.dev/de/blog/passives-ble-esp32/"}]},{"@type":"Blog","@id":"https://ptob.dev/de/blog/#blog","url":"https://ptob.dev/de/blog/","name":"PToB-Blog","description":"Entwicklungsnotizen über gemeinsame Zeit, preiswerte Hardware und die Experimente hinter PToB.","inLanguage":"de","publisher":{"@id":"https://ptob.dev/#jonathan-yantis"},"isPartOf":{"@id":"https://ptob.dev/#website"},"blogPost":[{"@id":"https://ptob.dev/de/blog/esp32-sensoren-ble-synchronisieren/#article"},{"@id":"https://ptob.dev/de/blog/esp32-uhren-grundlagen/#article"},{"@id":"https://ptob.dev/de/blog/zuverlaessige-firmware-zeitmesh/#article"},{"@id":"https://ptob.dev/blog/lab-sensor-timing-economics/#article"},{"@id":"https://ptob.dev/de/blog/starlink-lokaler-stratum-1-zeitserver/#article"},{"@id":"https://ptob.dev/de/blog/raspberry-pi-ptp-ntp-ble/#article"},{"@id":"https://ptob.dev/de/blog/gnss-resilientes-zeitmesh/#article"},{"@id":"https://ptob.dev/de/blog/passives-lora-kanalwechsel/#article"},{"@id":"https://ptob.dev/de/blog/esp32-holdover-unter-einer-mikrosekunde/#article"},{"@id":"https://ptob.dev/de/blog/lokale-zeit-utc-netz/#article"},{"@id":"https://ptob.dev/de/blog/grandmaster-ausfall-und-uhrenensemble/#article"},{"@id":"https://ptob.dev/de/blog/ble-uhren-innenraumnavigation/#article"},{"@id":"https://ptob.dev/de/blog/passives-ble-esp32/#article"},{"@id":"https://ptob.dev/de/blog/warum-utc/#article"},{"@id":"https://ptob.dev/de/blog/warum-ptob/#article"}]},{"@type":"BlogPosting","@id":"https://ptob.dev/de/blog/passives-ble-esp32/#article","url":"https://ptob.dev/de/blog/passives-ble-esp32/","headline":"Zeitübertragung unter einer Mikrosekunde auf ESP32 mit passivem BLE","description":"Wie PToB relative Zeit unter einer Mikrosekunde durch passiven BLE-Empfang auf ESP32-S3 bringt und wie sich die Architektur von aktivem Wi-Fi FTM unterscheidet.","mainEntityOfPage":{"@id":"https://ptob.dev/de/blog/passives-ble-esp32/#webpage"},"isPartOf":{"@id":"https://ptob.dev/de/blog/#blog"},"author":{"@id":"https://ptob.dev/#jonathan-yantis"},"publisher":{"@id":"https://ptob.dev/#jonathan-yantis"},"inLanguage":"de","dateCreated":"2026-10-24T00:00:00.000Z","dateModified":"2026-10-24T00:00:00.000Z","datePublished":"2026-10-24T00:00:00.000Z","image":"https://ptob.dev/blog/passive-ble-esp32-clocks.jpg","articleSection":"Passive BLE-Zeitübertragung auf ESP32","keywords":["ESP32-S3","Passiver BLE-Empfang","Uhrenabgleich unter einer Mikrosekunde","Software PLL","Wi-Fi FTM"],"wordCount":1339,"citation":[{"@type":"CreativeWork","name":"PToB · W12-Messungen nach Reparatur der UTC-Basis","url":"https://github.com/yantisj2/PToB/tree/main/evidence/s3/2026-10-24-w12-utc-basis"},{"@type":"CreativeWork","name":"PToB · Low-Level Timing on ESP32-S3","url":"https://ptob.dev/papers/ptob-esp32s3-low-level-timing.pdf"},{"@type":"CreativeWork","name":"Alexandre Bezroutchko · Fine Time Sync","url":"https://github.com/abbbe/fts/"},{"@type":"CreativeWork","name":"Fine Time Sync · Technical presentation","url":"https://github.com/abbbe/fts/blob/main/docs/fts-presa-20251203.pdf"},{"@type":"CreativeWork","name":"Espressif · ESP32-S3 Wi-Fi FTM","url":"https://docs.espressif.com/projects/esp-idf/en/stable/esp32s3/api-guides/wifi-driver/security-and-roaming.html#fine-timing-measurement-ftm"}],"about":{"@id":"https://ptob.dev/#protocol"}}]}],"content":{"mediaType":"text/markdown","headings":[{"level":1,"text":"Zeitübertragung unter einer Mikrosekunde auf ESP32 mit passivem BLE","url":"https://ptob.dev/de/blog/passives-ble-esp32/#main"},{"level":2,"text":"Warum passiver Empfang interessant ist","url":"https://ptob.dev/de/blog/passives-ble-esp32/#why-passive-reception-matters"},{"level":2,"text":"Der Callback kommt nach dem Ereignis","url":"https://ptob.dev/de/blog/passives-ble-esp32/#the-callback-arrives-after-the-event"},{"level":2,"text":"Das Ereignis erfassen und das Paket zuordnen","url":"https://ptob.dev/de/blog/passives-ble-esp32/#capture-the-event-and-match-the-packet"},{"level":2,"text":"Die Uhren verbunden halten","url":"https://ptob.dev/de/blog/passives-ble-esp32/#keep-the-clocks-connected"},{"level":2,"text":"Die tatsächlich verfügbare Uhr prüfen","url":"https://ptob.dev/de/blog/passives-ble-esp32/#check-the-clock-that-was-actually-available"},{"level":2,"text":"Der Vergleich mit aktivem Wi-Fi FTM","url":"https://ptob.dev/de/blog/passives-ble-esp32/#how-this-compares-with-active-wi-fi-ftm"},{"level":2,"text":"Was als Nächstes folgt","url":"https://ptob.dev/de/blog/passives-ble-esp32/#what-comes-next"},{"level":2,"text":"Die Einzelheiten erkunden","url":"https://ptob.dev/de/blog/passives-ble-esp32/#related-title"},{"level":3,"text":"ESP32-Implementierungspaper","url":"https://ptob.dev/de/blog/passives-ble-esp32/#main"},{"level":3,"text":"Aktuelle W12-Messungen","url":"https://ptob.dev/de/blog/passives-ble-esp32/#main"},{"level":3,"text":"W12-Zeitarchitektur","url":"https://ptob.dev/de/blog/passives-ble-esp32/#main"},{"level":2,"text":"Quellen und weitere Lektüre","url":"https://ptob.dev/de/blog/passives-ble-esp32/#sources-title"},{"level":2,"text":"Diesen Beitrag zitieren","url":"https://ptob.dev/de/blog/passives-ble-esp32/#cite-title"}],"links":[{"text":"Jonathan Yantis","url":"https://github.com/yantisj2/PToB/blob/main/CREDITS.md"},{"text":"Implementierungspaper (Englisch)","url":"https://ptob.dev/de/papers/preview/?file=%2Fpapers%2Fptob-esp32s3-low-level-timing.pdf"},{"text":"aktuelle Basis vom 24. Oktober","url":"https://ptob.dev/de/blog/passives-ble-esp32/#source-w12-results"},{"text":"öffentliche Nachweise und Messzeilen","url":"https://ptob.dev/de/blog/passives-ble-esp32/#source-w12-results"},{"text":"Fine-Time-Sync-Projekt","url":"https://github.com/abbbe/fts/"},{"text":"FTM tauscht Frames in beide Richtungen aus und erfasst Sende- und Empfangszeit in Hardware","url":"https://docs.espressif.com/projects/esp-idf/en/stable/esp32s3/api-guides/wifi-driver/security-and-roaming.html#fine-timing-measurement-ftm"},{"text":"FTS-Entwurf","url":"https://github.com/abbbe/fts/blob/main/docs/fts-presa-20251203.pdf"},{"text":"Forschungspaper (Englisch)","url":"https://ptob.dev/de/papers/preview/?file=%2Fpapers%2Fptob-esp32s3-low-level-timing.pdf"},{"text":"aktuellen Ergebnisse","url":"https://ptob.dev/de/forschung/#w12-utc-basis"},{"text":"ESP32-Implementierungspaper Erfassungshardware, Uhrenbrücken, kausale Anpassung und Grenzen geschätzter Sendezeitstempel.","url":"https://ptob.dev/de/papers/preview/?file=%2Fpapers%2Fptob-esp32s3-low-level-timing.pdf"},{"text":"Aktuelle W12-Messungen Die spätere Basis mit Quellenwechsel, nicht verfügbaren Beobachtungen und getrennten Relaisergebnissen.","url":"https://ptob.dev/de/forschung/#w12-utc-basis"},{"text":"W12-Zeitarchitektur Ein Paket durch Erfassung, Uhrenregelung und experimentelles Relais verfolgen.","url":"https://ptob.dev/de/hardware/esp32-s3/zeitarchitektur/"},{"text":"PToB · W12-Messungen nach Reparatur der UTC-Basis","url":"https://github.com/yantisj2/PToB/tree/main/evidence/s3/2026-10-24-w12-utc-basis"},{"text":"PToB · Low-Level Timing on ESP32-S3","url":"https://ptob.dev/de/papers/preview/?file=%2Fpapers%2Fptob-esp32s3-low-level-timing.pdf"},{"text":"Alexandre Bezroutchko · Fine Time Sync","url":"https://github.com/abbbe/fts/"},{"text":"Fine Time Sync · Technical presentation","url":"https://github.com/abbbe/fts/blob/main/docs/fts-presa-20251203.pdf"},{"text":"Espressif · ESP32-S3 Wi-Fi FTM","url":"https://docs.espressif.com/projects/esp-idf/en/stable/esp32s3/api-guides/wifi-driver/security-and-roaming.html#fine-timing-measurement-ftm"},{"text":"https://ptob.dev/de/blog/passives-ble-esp32/","url":"https://ptob.dev/de/blog/passives-ble-esp32/"},{"text":"Zurück zum Blog","url":"https://ptob.dev/de/blog/"},{"text":"Messnachweise des Projekts ansehen","url":"https://github.com/yantisj2/PToB/blob/main/evidence/README.md"}],"text":"# Zeitübertragung unter einer Mikrosekunde auf ESP32 mit passivem BLE\n\nDas richtige Ereignis erfassen, Uhrendrift verfolgen und Vorhersagen prüfen: So erreichte passive BLE-Zeitübertragung auf einem gemessenen ESP32-S3-Pfad RMS-Werte im Bereich einiger zehn Nanosekunden.\n\n[Jonathan Yantis](https://github.com/yantisj2/PToB/blob/main/CREDITS.md) 24. Oktober 2026  7 Min. Lesezeit\n\n![Vier PToB-Entwicklungsinstrumente auf einer Fensterbank mit beleuchteten Anzeigen für Zeit und Quellenzustand.](https://ptob.dev/blog/passive-ble-esp32-clocks.jpg)\n\nPToB-Entwicklungshardware. Die fotografierten Anzeigen sind momentane Diagnosen; die nachfolgend besprochenen Messungen stammen aus aufgezeichneten Versuchen.\n\nIn diesem Beitrag\n\nEine preiswerte ESP32-Platine kann einer Funkquelle allein durch Zuhören überraschend genau folgen. Unsere jüngsten PToB-Messungen auf ESP32-S3 W12 ergaben **60,3 ns relativen Zeitfehler als RMS bei 522 auswertbaren von 600 protokollierten Beobachtungen**. Der größte auswertbare Fehler betrug 180 ns, deutlich unter einer Mikrosekunde beziehungsweise 1.000 ns. Die übrigen 78 Beobachtungen waren beim Quellenwechsel nicht verfügbar und bleiben Teil des Ergebnisses.\n\nDie Zeit kommt durch **passiven BLE-Empfang**. Der Empfänger hört ausgesendete Zeitpakete und ihre späteren Korrekturen und führt seine eigene Uhr zwischen Aktualisierungen weiter. Nicht jede Zeitmessung braucht einen Anfrage-Antwort-Austausch.\n\nDafür mussten wir die Grenzen einer Architektur überwinden, die Pakete bequem an Anwendungen liefern soll. Präzise Zeitübertragung stellt eine anspruchsvollere Frage: Wann genau fand das relevante Ereignis statt?\n\n## Warum passiver Empfang interessant ist\n\nEine Aussendung kann viele Empfänger versorgen. Ein weiterer Empfänger verlangt keinen eigenen Zeitaustausch mit der Quelle. Das ist eine reizvolle Grundlage für Sensoren und Instrumente, die über einen Raum oder ein lokales Mesh hinweg eine gemeinsame Zeit brauchen.\n\nPassiv beschreibt hier, wie der Empfänger seine Zeitbeobachtungen gewinnt. PToB hat auch authentifizierten Zulassungs- und Erneuerungsverkehr; ein Relais sendet seinen eigenen Zeitstrom. Die Aussage betrifft den ausgesendeten Zeitpfad und verspricht nicht, dass jedes Gerät sein ganzes Leben funkstill bleibt.\n\nDiese Architektur vermeidet individuelle Zeitantworten je Empfänger. Künftige Kapazität und Energiebedarf müssen weiterhin gemessen werden; auch ein ständig empfangender Funkchip hat seinen Preis.\n\n## Der Callback kommt nach dem Ereignis\n\nNaheliegend wäre, die lokale Uhr zu lesen, sobald der Bluetooth-Stack ein Paket meldet. Das erfasst, wann Software die Nachricht verarbeitet. Funkverarbeitung, Interrupts, Warteschlangen und andere Arbeit können zwischen Empfang und Callback liegen. Ihre Verzögerungen schwanken.\n\nAußerdem gibt es im Chip mehrere Uhren. Der Bluetooth-Controller plant Funkaktivität in einem Koordinatensystem, lokale Peripherie zählt in einem anderen. Zwei Abfragen können beide präzise sein und dennoch verschiedene Momente beschreiben. Gleichzeitig läuft der Empfängeroszillator etwas schneller oder langsamer als die Quelle; eine einmalige Korrektur veraltet deshalb bald.\n\nDiese Effekte werden erheblich, wenn das gesamte Fehlerbudget nur einen Bruchteil einer Mikrosekunde beträgt. Mehr Nachkommastellen holen unterwegs verlorene Zeitinformation nicht zurück.\n\n## Das Ereignis erfassen und das Paket zuordnen\n\nUnser feiner Empfangspfad erfasst eine Flanke der Funk-Empfangsaktivität mit einer Hardwareperipherie gegen einen kontinuierlichen **80-MHz-Zähler**. Software kann den gespeicherten Zählerstand später abholen. Die 12,5-ns-Takte geben ein feines Messraster; sie garantieren keine Genauigkeit von 12,5 ns.\n\nAls Nächstes muss diese Flanke dem richtigen Paket zugeordnet werden. BLE-Verkehr kann Wiederholungen, verschiedene Kanäle und fremde Aktivität enthalten. Wir behalten die Paketinformationen und verlangen eindeutige Zuordnung. Fehlt sie oder ist sie mehrdeutig, bleibt die Beobachtung nicht verfügbar, statt einen plausibel aussehenden Zeitstempel zu erzeugen.\n\nAuch die erfasste Marke braucht eine feste Beziehung zur Zeitkonvention des Pakets. Wir nutzen eine paketspezifische empirische Anpassung. Exakter HF-Bezugspunkt und physische Verzögerung bleiben unqualifiziert; das ist bei der Übertragung auf andere Platinen oder Paketformate entscheidend.\n\n## Die Uhren verbunden halten\n\nDer Empfänger modelliert, wie sein Zähler zur Quellenuhr steht: Wie weit geht er vor oder nach, und wie schnell ändert sich diese Differenz? Das übernimmt die Software-Regelschleife, die Software PLL. Wiederholte Beobachtungen halten die Beziehung aktuell; kontrollierte Anpassungen führen die ausgegebene Uhr nach.\n\nAuch Kanalunterschiede brauchen Aufmerksamkeit. Hat ein BLE-Kanal einen etwas anderen Zeitversatz, soll eine veränderte Kanalmischung nicht wie ein plötzlich schneller laufender Oszillator aussehen. Der Schätzer berücksichtigt diese Unterscheidung beim Lernen der Uhrenrate.\n\nEbenso sorgfältig müssen Übergänge zwischen internen Uhren behandelt werden. Wir schließen eine Uhrenabfrage mit zwei lokalen Zählererfassungen ein, halten das Intervall kurz und protokollieren seine Breite. Kritische Befehle laufen aus internem RAM, um Schwankungen durch Flashzugriffe zu verringern. So entsteht eine vermessene Uhrenbrücke, statt zwei Softwareabfragen einfach für gleichzeitig zu halten.\n\nDas [Implementierungspaper (Englisch)](https://ptob.dev/de/papers/preview/?file=%2Fpapers%2Fptob-esp32s3-low-level-timing.pdf) behandelt Zählerüberläufe, Erfassungszuordnung, Uhrenbrücken und Anpassungsgleichungen. Die Architekturidee ist überschaubar: Das ursprüngliche Ereignis erhalten, sorgfältig zwischen Uhren umrechnen und die Drift weiterverfolgen.\n\n## Die tatsächlich verfügbare Uhr prüfen\n\nEin Zeitmodell kann hervorragend aussehen, wenn es erst aus einer Beobachtung lernen und sich dann gegen sie bewerten darf. Wir behalten die bei der Erfassung verfügbare Vorhersage und bewerten sie, bevor die spätere Korrektur das Modell aktualisiert.\n\nFür die Prüfung der ausgegebenen Uhr dient ein physisches GNSS-Sekundenimpulssignal als Referenz. Bei jedem erfassten Impuls fragen wir die zuvor verfügbare BLE-Uhr ab. Die Referenz trainiert sie nicht. So prüfen wir die ausgegebene relative Empfängerzeit über die interne Anpassungskennzahl des Schätzers hinaus.\n\nDie [aktuelle Basis vom 24. Oktober](https://ptob.dev/de/blog/passives-ble-esp32/#source-w12-results) enthält zwei festgelegte Fünfminutenfenster nach zwei Minuten Warmlauf. Empirische Anpassungen waren vorher eingefroren; weder wurde am letzten Fenster neu angepasst noch wurden große Fehler entfernt.\n\n| Beobachtung | Auswertbar / protokolliert | RMS | Größter Fehler |\n| --- | --- | --- | --- |\n| W12, beide Fenster | 522 / 600 | 60,3 ns | 180 ns |\n| W12, stabiles zweites Fenster | 300 / 300 | 38,3 ns | 121 ns |\n| Über das W12-Relais | 451 / 600 | 61,9 ns | 211 ns |\n\nRMS fasst die Fehler der auswertbaren Beobachtungen einschließlich eines bleibenden Versatzes zusammen. Das Maximum ist der größte beobachtete Fehlerbetrag; keine der Größen garantiert eine Grenze für den nächsten Lauf.\n\nDas erste Fenster wechselte die Quelle und behielt 78 nicht verfügbare W12-Beobachtungen. Die nachgelagerte Messung hat eigene 149 nicht auswertbare Einträge. Präzision unter einer Mikrosekunde bei gültiger Uhr und durchgängige Verfügbarkeit sind getrennte Entwicklungsziele.\n\nDies sind **relative PPS-Messungen auf den getesteten Pfaden**. Kalibrierte UTC-Genauigkeit, physische Ausgangspinzeit und Übertragbarkeit auf andere Geräte bleiben offen. Das Implementierungspaper behält frühere Versuche; die spätere Basis oben hat eigene [öffentliche Nachweise und Messzeilen](https://ptob.dev/de/blog/passives-ble-esp32/#source-w12-results).\n\n## Der Vergleich mit aktivem Wi-Fi FTM\n\nEin beeindruckender Vergleich ist Alexandre Bezroutchkos [Fine-Time-Sync-Projekt](https://github.com/abbbe/fts/). Es nutzt Wi-Fi Fine Timing Measurement, kurz FTM, um ESP32-Uhren in Beziehung zu setzen und Hardwaretimer nachzuführen. Das Projekt berichtet **Ausgabejitter unter 100 ns** bei einer Timer-Stellschrittweite von 25 ns.\n\nDiese hervorgehobene Ausgabezahl ist etwas kleiner als der maximale relative Fehler von 121 ns in unserem stabilen BLE-Empfangsfenster. Die Messungen betreffen unterschiedliche Endpunkte: FTS berichtet Hardwareimpulsjitter; unser Ergebnis vergleicht eine ausgegebene Uhr mit erfassten PPS. Sie zeigen eine ähnliche Größenordnung der Zeitmessleistung und keine kontrollierte Rangfolge der Uhrengenauigkeit.\n\nDie Architektur unterscheidet sich deutlich. [FTM tauscht Frames in beide Richtungen aus und erfasst Sende- und Empfangszeit in Hardware](https://docs.espressif.com/projects/esp-idf/en/stable/esp32s3/api-guides/wifi-driver/security-and-roaming.html#fine-timing-measurement-ftm). Die Hin-und-Rückweg-Beobachtungen liefern Informationen zur Verbindungsverzögerung; der [FTS-Entwurf](https://github.com/abbbe/fts/blob/main/docs/fts-presa-20251203.pdf) baut damit eine Uhrenbeziehung auf und richtet Timerereignisse aus.\n\nUnser BLE-Empfänger gewinnt Zeit aus dem ausgesendeten Strom der Quelle. Eine entsprechende Laufzeitmessung in beide Richtungen je Beobachtung fehlt; Signallaufzeit und feste Funkverzögerungen bleiben daher Teil der Unsicherheit und empirischen Pfadanpassung. Dafür können mehrere Empfänger denselben Strom nutzen, ohne jeweils einen eigenen Zeitaustausch auszuhandeln.\n\nAktives FTM ist ein starker Weg zu synchronisierten Hardwareimpulsen. Passives BLE bietet eine andere Verteilarchitektur, deren gemessene relative Zeit bereits in derselben breiten Größenordnung unter einer Mikrosekunde liegt. Interessant ist, wie viel Präzision sorgfältiges Zuhören erschließen kann.\n\n## Was als Nächstes folgt\n\nNoch müssen wir diese Präzision über Quellenwechsel, weitere Platinen und längere Beobachtungen zuverlässig machen. Die Relais-Sendezeit wird weiter aus Controllerplanung und Uhrenabbildungen geschätzt; ein verifizierter physischer Sendezeitstempel wäre eine festere Grundlage. Referenzverzögerungen, Temperatur, Last und Kalibrierungsübertragbarkeit brauchen ebenfalls eigene Messungen.\n\nBisher hat ein ESP32-S3 mit unserer Fine-Capture-Firmware relative Zeit mit RMS im Bereich einiger zehn Nanosekunden über passiven BLE-Empfang gezeigt. Das [Forschungspaper (Englisch)](https://ptob.dev/de/papers/preview/?file=%2Fpapers%2Fptob-esp32s3-low-level-timing.pdf) erklärt die Mechanik; die [aktuellen Ergebnisse](https://ptob.dev/de/forschung/#w12-utc-basis) halten Fehler und Lücken neben den hervorgehobenen Zahlen sichtbar.\n\nJeder Zeitstempel braucht eine Referenz.\n**Welches Ereignis wurde erfasst?**\n\n## Die Einzelheiten erkunden\n\n[ESP32-Implementierungspaper Erfassungshardware, Uhrenbrücken, kausale Anpassung und Grenzen geschätzter Sendezeitstempel.](https://ptob.dev/de/papers/preview/?file=%2Fpapers%2Fptob-esp32s3-low-level-timing.pdf)[Aktuelle W12-Messungen Die spätere Basis mit Quellenwechsel, nicht verfügbaren Beobachtungen und getrennten Relaisergebnissen.](https://ptob.dev/de/forschung/#w12-utc-basis)[W12-Zeitarchitektur Ein Paket durch Erfassung, Uhrenregelung und experimentelles Relais verfolgen.](https://ptob.dev/de/hardware/esp32-s3/zeitarchitektur/)\n\n## Quellen und weitere Lektüre\n\nPrimärquellen zu den besprochenen Geräten und Methoden.\n\n1. [PToB · W12-Messungen nach Reparatur der UTC-Basis](https://github.com/yantisj2/PToB/tree/main/evidence/s3/2026-10-24-w12-utc-basis)\n\n   Die aktuelle endliche relative PPS-Population, öffentliche Messzeilen, Methoden und Grenzen.\n2. [PToB · Low-Level Timing on ESP32-S3](https://ptob.dev/de/papers/preview/?file=%2Fpapers%2Fptob-esp32s3-low-level-timing.pdf)\n\n   Der Implementierungs-Forschungsentwurf mit seinen eigenen früheren Messpopulationen.\n3. [Alexandre Bezroutchko · Fine Time Sync](https://github.com/abbbe/fts/)\n\n   Aktives Wi-Fi-FTM-Uhrenmodell und nachgeführter Timer, mit berichtetem Ausgabejitter unter 100 ns.\n4. [Fine Time Sync · Technical presentation](https://github.com/abbbe/fts/blob/main/docs/fts-presa-20251203.pdf)\n\n   FTM-Zeitstempelaustausch, Uhrenabbildung und Hardwaretimerregelung im Referenzentwurf.\n5. [Espressif · ESP32-S3 Wi-Fi FTM](https://docs.espressif.com/projects/esp-idf/en/stable/esp32s3/api-guides/wifi-driver/security-and-roaming.html#fine-timing-measurement-ftm)\n\n   Hardwarezeitstempel und beidseitiger Frame-Austausch bei Wi-Fi Fine Timing Measurement.\n\n## Diesen Beitrag zitieren\n\nJonathan Yantis. Zeitübertragung unter einer Mikrosekunde auf ESP32 mit passivem BLE PToB-Blog. Veröffentlicht am 24. Oktober 2026.\n\nArtikel-Permalink: [https://ptob.dev/de/blog/passives-ble-esp32/](https://ptob.dev/de/blog/passives-ble-esp32/)\n\n[Zurück zum Blog](https://ptob.dev/de/blog/)[Messnachweise des Projekts ansehen](https://github.com/yantisj2/PToB/blob/main/evidence/README.md)"}}
