Skip to content

Instantly share code, notes, and snippets.

@eonist
Created March 9, 2026 05:27
Show Gist options
  • Select an option

  • Save eonist/19aae17a36af40fa0128a2ddb0fd09ff to your computer and use it in GitHub Desktop.

Select an option

Save eonist/19aae17a36af40fa0128a2ddb0fd09ff to your computer and use it in GitHub Desktop.
find-my-tracking.md

Yes, you can — but not through the official Apple route. There are two paths: the unofficial open-source way (OpenHaystack) which works great for a DIY project like yours, and the official Apple MFi program which is designed for commercial products.

OpenHaystack (DIY / Recommended for You)

OpenHaystack is an open-source framework that lets you turn your ESP32 into a device tracked by Apple's Find My network. It works by having nearby iPhones detect your device's BLE broadcast and relay its location to Apple's servers — exactly how AirTags work, but unofficial. accio

What you need:

  • Your ESP32-C3 (which you already have in the build) flashed with OpenHaystack firmware makezine
  • A Mac to run the OpenHaystack companion app for generating keys and viewing locations github
  • It can take up to 30 minutes to see the first location report on the map github

How it works with your tracker:

  • The ESP32 broadcasts a BLE signal just like an AirTag youtube
  • Any nearby iPhone picks it up, encrypts the location with your public key, and uploads it to Apple's servers reddit
  • You decrypt and view the location on the OpenHaystack macOS app github
  • Accuracy is roughly ~3 meters, which is very usable youtube

Limitations to Know

  • Not in the actual Find My app — you view locations in the OpenHaystack macOS app, not Apple's Find My on your iPhone github
  • No anti-stalking protections — Apple's built-in "unknown AirTag following you" alerts don't apply, which is a privacy concern youtube
  • Depends on nearby iPhones — in areas with few Apple devices, location updates will be slow or nonexistent youtube
  • Apple could break it — since it's reverse-engineered, an iOS update could potentially block unofficial devices accio
  • macOS only for the companion app (you need a Mac to retrieve locations) makezine

Official Apple Find My (Commercial Route)

If you ever want to sell this as a product with the "Works with Apple Find My" badge, you'd need to join Apple's Made for iPhone (MFi) program. This requires company enrollment, Apple certification, and adherence to their specs — not practical for a prototype, but worth knowing for production scaling. apple

Google Find My Device (Alternative)

There's also GoogleFindMyTools, an experimental project that does the same thing but with Google's Android Find My Device network using ESP32 firmware. If you or your users are on Android, this could be a complementary option. reddit

Practical Recommendation for Your Build

Since your ESP32-C3 already has BLE, you can run OpenHaystack firmware alongside your GPS tracking logic. This gives you two layers of tracking:

  1. Active tracking (GPS + BLE to your app) — when you're nearby and cycling
  2. Passive tracking (Find My network via OpenHaystack) — when the bike is stolen and out of Bluetooth range, nearby iPhones relay its location back to you reddit

This is essentially what some people are already doing for bike theft recovery with custom NRF51/ESP32 trackers piggybacking on Apple's network. reddit

@eonist
Copy link
Author

eonist commented Mar 9, 2026

Great news — if you go with the nRF52840 for Apple Find My, it also supports Google Find My Device out of the box. No additional hardware needed. The same chip runs both networks.[devzone.nordicsemi]

Chip Compatibility Across Both Networks

Nordic Semiconductor's chips are the only ones officially supported by both Apple and Google. Here's the overlap:[devzone.nordicsemi]

Chip | Apple Find My | Google Find My Device | Both -- | -- | -- | -- nRF52832 | ✅ | ✅ | ✅ nRF52840 | ✅ | ✅ | ✅ nRF54L15 | ✅ | ✅ | ✅ nRF52833 | ✅ | ❌ | ❌ nRF5340 | ❌ | ✅ | ❌ ESP32-C3 (your current) | ❌ | ❌ | ❌

The nRF52840 draws roughly half the current of the ESP32-C3, so your battery life would actually improve — potentially pushing that 2–4 month estimate even further. The only trade-off is that you'd write firmware in C with Nordic's nRF Connect SDK instead of Arduino/ESP-IDF, which has a steeper learning curve but is the standard for commercial BLE products.nordicsemi+1

Great news — if you go with the **nRF52840** for Apple Find My, it **also supports Google Find My Device** out of the box. No additional hardware needed. The same chip runs both networks. [[devzone.nordicsemi](https://devzone.nordicsemi.com/f/nordic-q-a/114238/apple-and-google-find-my-technologies-and-supported-modules)](https://devzone.nordicsemi.com/f/nordic-q-a/114238/apple-and-google-find-my-technologies-and-supported-modules)

Chip Compatibility Across Both Networks

Nordic Semiconductor's chips are the only ones officially supported by both Apple and Google. Here's the overlap: [devzone.nordicsemi](https://devzone.nordicsemi.com/f/nordic-q-a/114238/apple-and-google-find-my-technologies-and-supported-modules)

Chip Apple Find My Google Find My Device Both
nRF52832
nRF52840
nRF54L15
nRF52833
nRF5340
ESP32-C3 (your current)

The nRF52840 is the sweet spot — it supports both ecosystems, has built-in NFC (required by Apple), and has the most flash/RAM headroom for running dual Find My stacks alongside your GPS and brake light logic. [devzone.nordicsemi](https://devzone.nordicsemi.com/f/nordic-q-a/114238/apple-and-google-find-my-technologies-and-supported-modules)

Google Find My Device Requirements

Google's tracker program (called Find Hub Network / FMDN) uses the Fast Pair protocol over BLE. The requirements are lighter than Apple's: [developers.google](https://developers.google.com/nearby/fast-pair/specifications/extensions/fmdn)

One Chip, Both Networks

Since both Apple and Google provide their SDKs through Nordic's nRF Connect SDK, you can run both Find My stacks simultaneously on a single nRF52840. This means: nordicsemi

  • Your tracker appears in Apple's Find My app for iPhone users
  • Your tracker appears in Google's Find Hub app for Android users
  • Same hardware, same firmware build, universal coverage

What Your Updated Build Looks Like

Replacing the ESP32-C3 with an nRF52840 actually simplifies things:

Feature ESP32-C3 (original) nRF52840 (updated)
BLE Bluetooth 5.0 Bluetooth 5.0
Apple Find My ✅ (official)
Google Find My ✅ (official)
Built-in NFC ✅ (Apple requires it)
Power consumption ~40–50 mA active ~15–20 mA active [nordicsemi](https://www.nordicsemi.com/Products/Technologies/Apple-Find-My-network)
Dev board option ESP32-C3 SuperMini Seeed XIAO nRF52840 (similar tiny form factor)
GPS UART
I2C (accelerometer)
PWM (LED driver)

The nRF52840 draws roughly half the current of the ESP32-C3, so your battery life would actually improve — potentially pushing that 2–4 month estimate even further. The only trade-off is that you'd write firmware in C with Nordic's nRF Connect SDK instead of Arduino/ESP-IDF, which has a steeper learning curve but is the standard for commercial BLE products. nordicsemi

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment