โ† Back to Index

Dennis Burke - Lightning & Thunder (TDOA/ToF) Project Status

Contact: Dennis Burke dennisfburke@verizon.net
Location: 1465 Cobblecreek St, Manteca, CA 95336 (510-828-3036)
Last Updated: February 10, 2026


๐ŸŽฏ Project Overview

Lightning & Thunder (L&T) โ€” Time Difference of Arrival (TDOA) / Time of Flight (ToF) acoustic ranging system for ZTAG proximity detection.


๐Ÿ“… Recent Timeline

Feb 3, 2026 โ€” Doppler Analysis + Espressif Follow-Up

Jan 29, 2026 โ€” ESP-NOW Enhancement Request to Espressif

Jan 22, 2026 โ€” L&T Architecture Discussion

Jan 13, 2026 โ€” Hardware Limitations Discovered

Jan 11, 2026 โ€” Global Clock Approach

Jan 2, 2026 โ€” Milestone 5 Achieved

Dec 29, 2025 โ€” Marco Polo vs. Lightning & Thunder

Dec 8, 2025 โ€” Dennis' Deep Dive Summary

Nov 24, 2025 โ€” UWB vs. L&T Discussion

Sep 25, 2025 โ€” Hardware Request

Aug 6-20, 2025 โ€” Onboarding


๐Ÿ”ง Technical Architecture

Current L&T Design (Quan, Jan 2026)

TX Device:
  1. Generate RF packet (ESP-NOW) with TX timestamp
  2. Schedule acoustic burst at T_offset from TX timestamp
  3. Broadcast both over air

RX Device:
  1. Receive RF packet โ†’ extract TX timestamp
  2. Detect acoustic arrival โ†’ timestamp against global clock
  3. Calculate distance: (T_acoustic_rx - T_tx - T_offset) ร— speed_of_sound
  4. Phase-lock to shared timebase (global clock sync)

Dennis' Proposed ESP-NOW Enhancement

ESP-NOW Packet Header (4x 16-bit fields):
  T1: Build-send (sender local time, packet queued)
  T2: Transmission (sender local time, updated on retry)
  T3: Reception (receiver local time, packet on stack)
  T4: Consume (receiver local time, packet at app)

WiFi/RF latency = (T2 - T1) + (T4 - T3)
Thunder pulse age = T_acoustic_rx - (T_tx + WiFi_latency)
Distance = Thunder_pulse_age ร— speed_of_sound

Multi-Tone Encoding (Dennis' Research)

Adjacency Gating (4 layers)

  1. RSSI threshold (ESP-NOW exposes RSSI, coarse filter)
  2. Acoustic preamble validation (strong, properly-timed signatures only)
  3. Slot-timing identity bursts (avoids ambiguity with multiple nearby devices)
  4. SNR + echo-rejection (direct-path arrivals, suppress multipath)

๐Ÿšง Current Blockers

CRITICAL: Espressif ESP-NOW Enhancement

Hardware Limitations (M5Stack Fire)

RF RX Timestamp Jitter


โœ… Action Items

For Quan

For Dennis

For Malachi Burke


๐Ÿ“Š Technical Metrics & Constraints

Parameter Target Current Notes
Spatial resolution 10-15 cm ~10 cm achieved (early test) Quan's first L&T proof-of-concept
Jitter budget 200-300 ฮผs Variable (RF RX unreliable) >1ms = 30+ cm variance (unusable)
Detection range 2-3 meters 3 meters (Milestone 5) Acoustic burst at 16-18kHz
Frequency range 10-10 kHz 16-18 kHz tested Dennis researching wider band
Identity channels 19-20 slots TBD Doppler-compensated spacing
Update rate 12 Hz TBD Quan's Marco-Polo target
Player capacity 30-50 TBD Limited by tone count ร— TDM slots

๐Ÿ”— Key Documents & Repos

GitHub Repos

Google Docs

External References


๐Ÿค In-Person Meetings

Jan 6, 2026 โ€” Oakdale Training

Dec 2, 2025 โ€” Twin Rivers (Cancelled)

Nov 25, 2025 โ€” Sacramento Training (Proposed)


๐Ÿ’ก Dennis' Technical Insights

On Doppler Effect (Feb 3, 2026)

"The doppler effect may be uniform but the result is frequency dependent so it makes it possible to use non-uniform spacing to squeeze in more useable frequencies. A delta V of just over 20 MPH [assumes waving arms]. 19-20 slots between 10 and 10 KHz inclusive with ~10% guard-band."

On ESP-NOW Limitations (Sep 20-23, 2025)

"ESP-NOW by itself is a no-go for the ZTAG use case. [It] detected more than one master (isolated devices) and didn't self-heal when master A became unavailable."

Resolution: Malachi clarified master device concept is software-layer, not ESP-NOW behavior. Dennis discovered example code hard-coded 2 peers (recoded to 32).

On Localization vs. Adjacency (Nov 24, 2025)

"Is an ad-hoc localization scheme something I should pursue or is L&T to be a confirmation of adjacency?"

Quan's answer: "For now, I'm okay with foregoing a full spatial map unless we have a permanent, controlled environment. L&T is for proximity/tagging within 2m cluster."

On Audio Ranging (Dec 8, 2025)

"When I look at the range of the audio I think 'If I hear you, we're in a cluster, otherwise not.' Marco sends RF saying there will be a subsequent audio pulse. Then all responding Polo RF packets will only come from adjacent units. Resolving RF latency is much less time-constrained than flipping audio pulse onto Polo units."

On Multi-Tone Detection (Jan 11, 2026)

"Goertzel algorithm falls down at some point making an FFT the best/only option. Continuous frequency detection consumes a great deal of ESP compute power and can limit L&T update rate. It may well impact 'system' behavior."


๐ŸŽฏ Strategic Decisions

Why Not UWB?

  1. Anchors not feasible โ€” ZTAG customers prioritize 2-minute setup, no infrastructure
  2. 60,000+ devices deployed โ€” Software-only enhancements required
  3. Cost prohibitive โ€” $15-20/unit adds significant margin impact
  4. Use case mismatch โ€” Full spatial map unnecessary; proximity/tagging within 2m sufficient

Why Global Clock Sync Over RF RX Timestamps?

  1. RF RX jitter unacceptable โ€” Non-deterministic outliers above MAC/PHY boundary
  2. Espressif enhancement uncertain โ€” Can't block on vendor cooperation
  3. Aligns with TDM โ€” Global time infrastructure needed anyway for scheduled slots
  4. Proven stability โ€” Quan's early results show far fewer pathological outliers

Why ESP-NOW Over Other Mesh Protocols?


๐Ÿ“ง Communication Preferences

Dennis Burke:

Best contact method: Email first, text for time-sensitive


๐Ÿ”ฎ Future Considerations

If Espressif Declines ESP-NOW Enhancement

  1. Path A: Fully commit to global clock sync approach (Quan's Jan 11 design)
    • Pro: Software-only, no vendor dependency
    • Con: More complex, requires tight phase-lock discipline
  2. Path B: Hybrid approach โ€” use RF as coordination channel only
    • Encode TX timestamp in payload
    • Accept RF RX timestamp unreliability, only trust acoustic timing
  3. Path C: Explore ESP32-S3 sub-microsecond time sync (Dennis' Jan 12 link)
    • Requires hardware migration (current: ESP32, not S3)

Hardware Evolution

Scaling to 30-50 Players


๐Ÿ“ Notes from Recent Conversations

Breakfast Discussion (referenced Jan 11, 2026)

"TDM scheduling must come into play, as I mentioned when we spoke over breakfast last week."

Context: Quan and Dennis met in person (likely early Jan 2026, exact date unclear). Discussed need for Time Division Multiplexing to make L&T work at scale.

Fathom Transcripts


โš ๏ธ Open Questions

  1. Espressif Response Status?

    • Quan forwarded request Jan 29, 2026
    • No follow-up email found through Feb 10
    • Need to check: Did Espressif respond? What was their answer?
  2. M5Stack vs. ZTAG Hardware

    • Dennis requested ZTAG kit Sep 25, 2025
    • Unclear if hardware was sent
    • Last mention: Malachi provided "small collection of ZTAG units" (Sep 23)
  3. Legacy LT Code Status

    • Dennis: "Old Lightning and Thunder [code] doesn't run on [new ZTAGGERs]. Haptic motor comes on and nary a peep."
    • Quan (Dec 8): "Entire audio path and DAC configuration changed on new ZTAG hardware, legacy implementation obsolete."
    • Question: Did Quan ever provide updated LT code compatible with new hardware?
  4. Global Clock Sync Implementation

    • Quan described approach Jan 11
    • No updates found through Feb 10
    • Question: What's the current status of phase-lock implementation?
  5. Oakdale Meeting Outcome (Jan 6, 2026)

    • Meeting confirmed, Dennis attended
    • No follow-up email discussion found
    • Question: What was discussed? Any decisions made?

๐Ÿ”ฌ Experimental Insights

From Quan's Testing (LT2/LT3 branches)

From Dennis' UWB Experiments


๐ŸŽ–๏ธ Dennis' Background


๐Ÿ“š Acronyms & Terms


End of Report
Last email in thread: Feb 3, 2026 (Dennis on Doppler + Espressif feedback question)
Status as of Feb 10, 2026: Awaiting Espressif response on ESP-NOW enhancement request