10 comments

  • tylerjaywood 3 days ago

    I built an audio timegrapher feature for my watch accuracy app, ChronoLog. Professional timegraphers use a piezo contact sensor and can cost upwards of $1,000. I wanted to do it with a phone mic.

    The problem: an iPhone's built-in microphone picks up a mechanical watch's tick at about 1.5 dB SNR. The solution turned out to be epoch folding β€” the same technique radio astronomers use to find pulsars. Stack 100+ tick periods together and you get +20 dB of effective gain, enough to reliably measure rate and beat error.

    The post covers the full DSP pipeline β€” bandpass filtering, epoch folding, autocorrelation (and why it finds harmonics before fundamentals at low SNR), Kalman filtering for convergence β€” and what I learned from five rounds of device testing.

    • mkesper 13 minutes ago

      Awesome writeup! I wonder whether with a real contact mic (Korg offers one for about 20 bucks) you could get much better results. Due to no 3,5mm on phones anymore it might be easier to use a sound-enabled SBC though.

    • CamelCaseCondo an hour ago

      If you know the structure of the β€œtick”, you can apply the technique of a correlation receiver. It can dig up signals below the noise floor and is used in GPS reception.

    • TheJoeMan 2 hours ago

      Did you consider trying the iPhone accelerometer? Perhaps lay the phone face down on the table and then lay the watch on the back? Wondering if this would have higher or lower SNR.

      • staplung an hour ago

        I don't think it would work because the accelerometer updates are at too low a frequency. Apple's developer info says:

        ``` Before you start the delivery of accelerometer updates, specify an update frequency by assigning a value to the accelerometerUpdateInterval property. The maximum frequency at which you can request updates is hardware-dependent but is usually at least 100 Hz.

        ```

        100Hz is way too slow. Presumably some devices go higher but according to the article the peak signal is in the 3kHz to 15kHz range.

    • TApplencourt 2 hours ago

      How does it compare to other apps ("watch accuracy meter" for example) on android?

  • aanet an hour ago

    Fantastic post. As a mechanical watch collector / enthusiast, I enjoyed reading this.

    When you say "phone mic" do you mean the embedded one, or an external one?

    • staplung an hour ago

      It uses the built-in one. But as discussed in the article they ran into the problem where even when you try to force using the internal mic, iOS will silently switch to the mic on a pair of AirPods if there's a pair connected.

  • silisili 2 hours ago

    I've tried these as apps before, and they never worked that well unfortunately. Perhaps the ticks aren't loud enough, or phone mics aren't that great, or background noise gets picked up as ticks, who knows.

    I bought and use the item linked below. It's big, and feels like tech straight out of the cold war era, but works great.

    https://www.amazon.com/gp/aw/d/B0081SSJZG

  • fred_is_fred an hour ago

    This is a fascinating read but what do you do with this information? Is there a threshold at which you need to take the watch apart and fix something or is this just useful info to know about your watch?