Just wanted to share an idea I had, in order to hope that another developer learns from my lessons, and hopefully either finds a work around or a better solution to this problem.

I wanted to find out if it was possible to locate your iPhone from your watch based on the latency of Bluetooth messages, since RSSI (signal strength) isn’t available. I made a simple app, and started sending messages back and forth between my phone and app.

After much testing, the conclusion is no. Mostly because Bluetooth is amazing and the average latency for a message is 58-62ms. And because as Erik pointed out… apple just sucks.

I am hopeful PebbleOS can be updated to see RSSI or the app can expose the notification api to the PebbleKit JS.

If anyone want me to publish my code, let me know.

The raw data is here if you want to see it: https://docs.google.com/spreadsheets/d/1Yr5XX0CXh5TifsnW3yOp10ZoaA_xx0q189f_fG8rMTU/edit?usp=sharing

  • FizzyOrange@programming.dev
    link
    fedilink
    arrow-up
    3
    ·
    4 hours ago

    Yeah I could have told you this wasn’t going to work. You need latency measurements accurate to the order of a nanosecond. There are way too many things in-between that have variance on the order of microseconds or more, especially thread scheduling.

    You need hardware support for something like this to work, as in WiFi RTT.

    Isn’t PebbleOS open source? I’d probably make a patch to add RSSI support to the OS.

    • the16bitgamer@programming.devOP
      link
      fedilink
      arrow-up
      1
      ·
      2 hours ago

      Yes Pebble OS is now open source, however I think adding RSSI might only work on newer devices, since classic pebbles are just Bluetooth and Bluetooth le. Though they may have Bluetooth le as a part of pairing?

      Still a fun experiment and a good way to see why Bluetooth headphones actually are as reliable as they are.

      • FizzyOrange@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        1 hour ago

        adding RSSI might only work on newer devices, since classic pebbles are just Bluetooth and Bluetooth le

        I don’t follow. It’s extremely unlikely that the actual hardware doesn’t give you RSSI.