this post was submitted on 11 Apr 2026
21 points (95.7% liked)

Programming

26510 readers
103 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS
 

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

top 8 comments
sorted by: hot top controversial new old
[–] FizzyOrange@programming.dev 4 points 3 days ago (1 children)

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.dev 2 points 3 days ago (1 children)

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 2 points 3 days ago (1 children)

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.

[–] the16bitgamer@programming.dev 1 points 3 days ago (1 children)

If I am right I don’t think Pebble watches has Bluetooth LE, it has the ability to broadcast itself but once connected uses Bluetooth. The OS doesn’t expose LE so I don’t think getting the signal strength is possible

[–] FizzyOrange@programming.dev 3 points 3 days ago

RSSI just means Received Signal Strength Indicator. Any radio system can provide it - it's not specific to BLE.

Bluetooth classic can provide RSSI too. Maybe the OS doesn't expose currently it but that's why I was suggesting modifying the OS. The only difficulty might be if the drivers are closed source, but worth a look I reckon!

[–] dan@upvote.au 7 points 4 days ago

Hopefully the EU goes after Apple for having APIs that only their own watch can use, since it's anticompetitive.

[–] reallykindasorta@slrpnk.net 2 points 4 days ago (1 children)

Is there something that is in apples available api that makes sound that breaks through silent mode? Maybe an alarm or something that could be triggered from pebble watch? It wouldn’t lead you to a thief with your phone but maybe a fine replacement for dinging your phone lost in your couch.

[–] the16bitgamer@programming.dev 3 points 4 days ago

The issue is:

  1. PebbleKit JS - doesn't have access to the sound or vibration motor on iOS. Since Apple blocks that functionality unless it's directly interacted with via the user

  2. PebbleKit iOS - Might pull it off but you'll need a separate app on the App Store, however the Pebble watches are just Bluetooth so no guarantee that you'll get a reading.

  3. iOS Apps are $100/year to keep up, and for that functionality... not worth it.

There are already apps which do this on Android and works without issue.