Skip to content
MCU Atlas
NRF52NRF52840

OpenHaystack on Zephyr: Find My tracking with nRF52840

Zephyr firmware that turns an nRF52840 into an Apple Find My network accessory using OpenHaystack.

Difficulty:IntermediateCost:Under $15Source available

Key Facts

  • Chip: nRF52840
  • RTOS: Zephyr
  • Network: Apple Find My (crowdsourced)
  • Power: coin cell feasible

About This Project

This project ports OpenHaystack to Zephyr RTOS so an nRF52840 Dongle (or other nRF52 board) can advertise as an Apple Find My accessory and be located on Apple's crowdsourced network. Power draw is low enough for coin-cell or small-battery operation. It is privacy-sensitive: only track your own devices, and understand the cryptographic key management OpenHaystack requires.

Source & Attribution

Source: GitHub
License: MIT
Last verified: 10/16/2026
OpenHaystack on Zephyr: Find My tracking with nRF52840

Illustration

How to Build It
A Zephyr RTOS port of OpenHaystack firmware for nRF52840 (and other Zephyr BLE) boards. It sends Bluetooth advertisements that Apple's Find My network picks up, so you can locate a DIY tag with the OpenHaystack app on a Mac.

Parts Needed

  • nRF52840 Dongle (or another Zephyr-supported BLE board)
  • CR2032 or other power if not on USB
  • Mac running the OpenHaystack app (to generate keys and view locations)
  • Zephyr toolchain (west, Zephyr SDK)

Steps

  1. 1

    Generate a key

    In the OpenHaystack Mac app, create an accessory and copy its advertisement public key.

  2. 2

    Set up Zephyr

    Install the Zephyr SDK and west, then initialise a workspace for the app and run west update to fetch the modules.

  3. 3

    Insert your key

    Either paste the key into the public_key array in main.c before building, or build first and patch the placeholder in zephyr.bin with the included openhaypatch.sh script.

  4. 4

    Build

    Run west build -p auto -b <your-board> -s app. The image ends up in build/zephyr.

  5. 5

    Flash

    Run west flash. Boards like the nRF52840 Dongle may need nrfutil DFU instead, so check your board's docs.

  6. 6

    Track it

    Leave the tag somewhere and watch for location reports in OpenHaystack. Only track your own property.

Parts List (BOM)
Partial parts list
partial
PartQtyRoleEst. PriceBuy
1board$10–$12View
1power$1–$3View
Estimated Total$10–$12 USD

Not included: 3D-printed case, wire, solder, USB cable

Download CSV

Related Projects

Meshtastic: off-grid LoRa mesh messaging on ESP32 and nRF52
Illustration
ESP32
Open firmware that makes cheap LoRa boards into an off-grid encrypted text mesh, paired with your phone.
Beginner·Cost varies·Code
4 parts listed
Pi-hole: network-wide ad blocking on Raspberry Pi
Illustration
RASPBERRY PIPI-ZERO-2-W
A DNS sinkhole that blocks ads and trackers for every device on your network, classic first Raspberry Pi project.
Beginner·Cost varies·Code
3 parts listed
InfiniTime: open firmware for the PineTime smartwatch
Illustration
NRF52NRF52832
The community FreeRTOS firmware that turns the $30 PineTime (nRF52832) into a fully open smartwatch.
Beginner·Cost varies·Code
1 part listed