<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/github---ben-z-findphone-locate-a-nearby-bluetooth-device-by-signal-strength-from-the-macos-comman-xbggji6qs" -->

---
title: GitHub - ben-z/findphone: Locate a nearby Bluetooth...
description: findphone is a macOS command-line tool that locates nearby Bluetooth devices by signal strength (RSSI), designed for situations where Find My is unavailable —...
canonical: https://daily.dev/posts/github---ben-z-findphone-locate-a-nearby-bluetooth-device-by-signal-strength-from-the-macos-comman-xbggji6qs
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: GitHub - ben-z/findphone: Locate a nearby Bluetooth device by signal strength, from the macOS command line — for when Find My isn't available | daily.dev
og:description: findphone is a macOS command-line tool that locates nearby Bluetooth devices by signal strength (RSSI), designed for situations where Find My is unavailable —...
og:url: https://daily.dev/posts/github---ben-z-findphone-locate-a-nearby-bluetooth-device-by-signal-strength-from-the-macos-comman-xbggji6qs
og:image: https://api.daily.dev/og/posts/xBggJI6qs.png
og:image:alt: GitHub - ben-z/findphone: Locate a nearby Bluetooth device by signal strength, from the macOS command line — for when Find My isn't available
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# GitHub - ben-z/findphone: Locate a nearby Bluetooth device by signal strength, from the macOS command line — for when Find My isn't available

**[Hacker News](https://daily.dev/sources/hn)** · 4 min read · 0 upvotes · 0 comments

## Summary

findphone is a macOS command-line tool that locates nearby Bluetooth devices by signal strength (RSSI), designed for situations where Find My is unavailable — such as when a device is enrolled in MDM that disables it. It supports a survey mode listing all nearby Apple handhelds, a hunt mode for tracking a specific device by name, and an optional audio feedback mode that clicks faster as you get closer (similar to a parking sensor). The tool draws from three signal sources: GATT link RSSI, BLE advertisements, and Classic link RSSI via system_profiler. It requires macOS 13+, is built with Swift, and needs Bluetooth permission in System Settings. Limitations include no ability to ring a device, no directional bearing, and signal attenuation through walls and metal.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://github.com/ben-z/findphone>

## Questions this post answers

### How can I find a nearby Bluetooth device on macOS when Find My is disabled by MDM?

findphone is a macOS command-line tool that locates nearby Bluetooth devices by signal strength (RSSI) without relying on Find My. It supports a survey mode for all nearby Apple handhelds and a hunt mode for tracking a specific device by name. An optional --sound flag provides audio feedback that speeds up as you close in, reaching a buzz around -50 dBm. Requires macOS 13 or later.

_Developers dealing with MDM-restricted devices track tools like findphone on daily.dev._

### How does macOS system_profiler SPBluetoothDataType RSSI caching affect Bluetooth signal polling?

macOS refreshes the Classic link RSSI value in system_profiler SPBluetoothDataType only every three to twelve seconds, serving a cached number in between. Polling faster yields no additional information. Measured over 112 polls at 0.4s intervals, the same value repeated for runs of 8 to 31 consecutive polls. Counting only polls where the value actually changes gives an honest measurement count far lower than the raw poll rate.

_macOS Bluetooth internals like this surface regularly for developers building device tools on daily.dev._

## Community take

How the wider developer community reacted, aggregated from 1 discussion and 40 comments across hackernews (as of 2026-08-10).

**TL;DR:** Commenters are broadly receptive to the tool, noting it was inspired by a recent HN thread about using Bluetooth RSSI to find a lost phone, and several share related ideas or prior art — though a few raise practical limitations like BLE broadcast frequency when a phone is idle.

**Sentiment:** 55% positive · 35% mixed · 10% skeptical

**The case for**

- The audio feedback / proximity-sensor approach is a clever workaround when Find My is unavailable.
- Multiple BLE signal sources (GATT, advertisements, Classic via system_profiler) give it broader coverage than a single-source approach.
- The idea generalises well — commenters note similar techniques work for detecting other BLE-broadcasting devices.

**The pushback**

- A sleeping or lost phone may broadcast BLE infrequently, limiting real-world effectiveness.
- No directional bearing means you still have to sweep an area rather than walk a straight line to the device.
- Bluetooth's Ranging feature (now in the spec) could do this more accurately at a protocol level, making the RSSI approach a workaround rather than a long-term solution.

**By community**

- hackernews (positive): Mostly curious and supportive, with commenters tracing the tool back to a recent thread, sharing related projects, and discussing practical edge cases like BLE broadcast frequency on idle phones.

**Hottest debate:** Whether a lost/idle phone broadcasts BLE frequently enough for RSSI-based tracking to be reliable in practice.

**Open questions**

- Does the tool work when the target phone is asleep and broadcasting BLE only intermittently?
- Will Bluetooth Ranging (the new protocol-level feature) make RSSI-based tools like this obsolete?
- Could a multi-receiver trilateration setup (e.g. Home Assistant BLE proxies) give meaningfully better accuracy?

**Highlights**

> Post inspired by "Lost my phone at the office. Claude suggested tracking Bluetooth signal strength" 07.aug.2026 https://news.ycombinator.com/item?id=49215786 215 comments ?
> — [HelloUsername on hackernews](https://news.ycombinator.com/item?id=49243030)

> I thought unless an android or iPhone is beaconing, it only broadcasts ble on device wake? Maybe I'm misremembering, but for example my esphome proxies in HA will show nothing for ages at night while my phone isn't being interacted with. If the phone is lost, it's probably not super awake lol
> — [ruskyhacker on hackernews](https://news.ycombinator.com/item?id=49243106)

> Bluetooth now has something that does this more accurately on a protocol level: https://www.bluetooth.com/learn-about-bluetooth/feature-enha...
> — [bouk on hackernews · 1 comments](https://news.ycombinator.com/item?id=49243422)

> If you have multiple fixed BLE receivers, you can do full trilateration.  This project integrates into Home Assistant using HA proxy BLE receivers to track phones moving around in your house: https://github.com/agittins/bermuda
> — [luma on hackernews](https://news.ycombinator.com/item?id=49243815)

**Source threads**

- [hackernews](https://news.ycombinator.com/item?id=49181584) · 41 points · 40 comments

## Similar posts on daily.dev

- [This cool ESP32‑S3 project is like a Geiger counter but for finding your phone instead of radiation](https://daily.dev/posts/this-cool-esp32-s3-project-is-like-a-geiger-counter-but-for-finding-your-phone-instead-of-radiation-2n9m1mbi9) · XDA Developers · 0 upvotes · 0 comments
- [Find My and Find Hub Network Research](https://daily.dev/posts/find-my-and-find-hub-network-research-p9dsdz3eb) · Hacker News · 0 upvotes · 0 comments
- [Blocking TikTok with physics: how I built an iPhone app that locks apps when you sit at your desk](https://daily.dev/posts/blocking-tiktok-with-physics-how-i-built-an-iphone-app-that-locks-apps-when-you-sit-at-your-desk-mbyenbs1i) · Medium · 0 upvotes · 0 comments

---

Tags: [#swift](https://daily.dev/tags/swift), [#mac](https://daily.dev/tags/mac), [#bluetooth](https://daily.dev/tags/bluetooth)

[View this post on daily.dev](https://daily.dev/posts/github---ben-z-findphone-locate-a-nearby-bluetooth-device-by-signal-strength-from-the-macos-comman-xbggji6qs)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"GitHub - ben-z/findphone: Locate a nearby Bluetooth device by signal strength, from the macOS command line — for when Find My isn't available","url":"https://daily.dev/posts/github---ben-z-findphone-locate-a-nearby-bluetooth-device-by-signal-strength-from-the-macos-comman-xbggji6qs","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/github---ben-z-findphone-locate-a-nearby-bluetooth-device-by-signal-strength-from-the-macos-comman-xbggji6qs"},"datePublished":"2026-08-10T14:11:12.398Z","dateModified":"2026-08-10T16:26:12.301Z","description":"findphone is a macOS command-line tool that locates nearby Bluetooth devices by signal strength (RSSI), designed for situations where Find My is unavailable —...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/00090b6013cf2d8d3516671032b00607?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/00090b6013cf2d8d3516671032b00607?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Hacker News","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Hacker News","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn","url":"https://daily.dev/sources/hn"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/github---ben-z-findphone-locate-a-nearby-bluetooth-device-by-signal-strength-from-the-macos-comman-xbggji6qs","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"swift,mac,bluetooth","timeRequired":"PT4M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Hacker News","item":"https://daily.dev/sources/hn"},{"@type":"ListItem","position":3,"name":"GitHub - ben-z/findphone: Locate a nearby Bluetooth device by signal strength, from the macOS command line — for when Find My isn't available"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/github---ben-z-findphone-locate-a-nearby-bluetooth-device-by-signal-strength-from-the-macos-comman-xbggji6qs#faq","mainEntity":[{"@type":"Question","name":"How can I find a nearby Bluetooth device on macOS when Find My is disabled by MDM?","acceptedAnswer":{"@type":"Answer","text":"findphone is a macOS command-line tool that locates nearby Bluetooth devices by signal strength (RSSI) without relying on Find My. It supports a survey mode for all nearby Apple handhelds and a hunt mode for tracking a specific device by name. An optional --sound flag provides audio feedback that speeds up as you close in, reaching a buzz around -50 dBm. Requires macOS 13 or later. Developers dealing with MDM-restricted devices track tools like findphone on daily.dev."}},{"@type":"Question","name":"How does macOS system_profiler SPBluetoothDataType RSSI caching affect Bluetooth signal polling?","acceptedAnswer":{"@type":"Answer","text":"macOS refreshes the Classic link RSSI value in system_profiler SPBluetoothDataType only every three to twelve seconds, serving a cached number in between. Polling faster yields no additional information. Measured over 112 polls at 0.4s intervals, the same value repeated for runs of 8 to 31 consecutive polls. Counting only polls where the value actually changes gives an honest measurement count far lower than the raw poll rate. macOS Bluetooth internals like this surface regularly for developers building device tools on daily.dev."}}]}
```

