ThreadMapper

Your Thread network, measured.

Thread devices are invisible by design. They just work — until one doesn't, and nothing will tell you why. ThreadMapper shows what your devices and your network say about themselves: which devices are on Thread, which border routers you have, which links they report. Nothing it cannot read is shown.

Download on the App Store →

The problem

“It worked yesterday.”

A sensor stops reporting. An hour later it comes back. Your hub says everything is fine, because from where it stands everything is. The information that would explain it — signal, routing, what else was on the air — is never shown to you at all.

Health grade

Reported

An A–F score with the specific issues pulling it down, not just a number.

Mesh map

Reported

Your Thread devices by room, with the links they report. Where no device reported a link, none is drawn.

Thread, and the rest

Reported

A device is on Thread when it says so — in its Matter diagnostics or its HomeKit Thread status — never because of its brand. Everything else is listed apart, for what it is.

Offline alerts

Measured

Offline when it is really gone: a sleepy battery sensor gets two hours, a mains-powered device fifteen minutes, and devices that go quiet together are one alert.

Device history

Reported

Uptime, reboots and firmware changes for every accessory.

Watch & iPad

Grade and complications on the wrist; a proper sidebar layout on iPad, not a stretched phone.

Where those tags come from

What it cannot read, it does not show.

iOS gives third-party apps no radio signal strength for Thread accessories, no parent-child relationships and no routing table. Any app showing you dBm for a HomeKit device is showing you something it cannot read.

So ThreadMapper shows no signal at all. A device is on Thread when it says so, a border router is one the network proves, and a line on the map is a link a device reported. What the phone can time — how quickly an accessory answers — is shown as exactly that, in milliseconds.

An OpenThread Border Router alone does not fix this.

Its REST API reports real network facts — name, channel, PAN ID — and ThreadMapper uses them. But we tested its diagnostics endpoints against a live two-node mesh: the requests complete and return nothing usable. Per-node routing is not available that way, whatever the documentation implies.

Which is why the probe exists.

The probe

A small box that stops the guessing.

Put our firmware on a small ESP32-C6 board, from a computer's browser, and leave it on a charger. It measures every Thread channel every five minutes, which no phone can, and keeps a day of readings while the app is closed. Where it can join your Thread mesh it reads the mesh from inside, as a real node.

Without a probe
With a probe
Response timingHow fast an accessory answers, in milliseconds — never passed off as signal.
Radio RSSIActual per-neighbour signal and link quality, off the radio.
Reported linksThe links a device reports about itself, and nothing guessed from rooms or accessory types.
Real routingRoute table with next hop and path cost — what makes a mesh multi-hop.
Channel theoryInterference risk from a table of which channels overlap Wi-Fi.
Measured noiseAn energy scan of all 16 channels. What the band actually sounds like.
While the app is openThe phone only watches when you're looking at it.
ContinuouslyRecorded on the probe for a day, so last night is still there in the morning.

Noise over time

Probe

A waterfall of the whole band. You can see the microwave at dinner and the neighbour's Wi-Fi in the evening.

Why it dropped

Probe

Departures lined up against noise and radio error counters — with the readings shown, and “no clear cause” when there isn't one.

While you were away

Probe

What happened since you last opened the app. Silent when nothing did.

Reliability counters

Probe

Transmit retries and channel-busy failures — congestion shows here long before anything looks offline.

The board is a Seeed XIAO ESP32C6, about $5–8, and the firmware installs in about ten minutes. The probe is part of ThreadMapper Pro. Setup guide →
Read that first: in a home whose border routers are all Apple's or Google's, the probe can join the mesh only if Home Assistant hands it the credentials. Otherwise it measures the channels and the Wi-Fi on them, and does not read the mesh. It is not a product you can buy — it's a build.

In the app

Screens

Dashboard showing the network grade, the counts behind it and the one thing to fix first
Health at a glance
Mesh map with Thread devices grouped by room and the links they report
Live mesh map
Channel Scanner with a Measured badge, bar heights showing real noise floor per channel
Channel scanner, measured
Thread Network screen listing nodes with real RSSI and a routing table
Real nodes and routing
Event list showing a node that changed role, with reliability counters above
What happened, and why
Network Doctor listing what to fix first, each finding with the evidence behind it
What to fix first

Privacy

No account. No servers. No analytics.

  • Nothing to sign up for. The app has no login because it has nowhere to log in to.
  • No tracking of any kind. No analytics, no third-party SDKs. The app talks to the devices on your own network and, if you turn it on, to your own iCloud: never to a server of ours, because there is none.
  • iCloud sync is yours, not ours. Optional, off by default, and it uses your own private iCloud. Your notes and settings follow you; we never see them.
  • AI runs on device. Apple Intelligence where it runs, the app's own rules everywhere else. Your network is never uploaded to be summarised.

Measurements deliberately don't sync.

Each iPhone and iPad keeps what it saw of your network itself. Merging them would produce a history no single device observed. Notes and settings sync; measurements stay put.

Full privacy policy →

Pro

One purchase. Not a subscription.

  • AI Insights, Network Assistant and a troubleshooter that reads this device's own history — all on your iPhone, nothing uploaded.
  • AR room mapping and X-Ray — scan rooms into a floor plan, place each device where it really is, and see the links your devices report drawn through your real home.
  • A year of daily grades, a month of timeline, weekly reports, and what a month of readings says about when your home is at its worst.
  • Jobs and evidence sheets — a page for a client showing exactly what a visit changed, and a page per device for a warranty claim.
  • What the radios say — why a device rebooted, how often it has changed parent router, and how many households can control it.

Field

Prove The Job

Field is a one-time purchase for installers, with everything in Pro. Prove The Job walks a visit in seven steps. Keep the customer's readings apart from your own home's, record the network before you touch anything, do the work, record it again as you leave, see the verdict against your own acceptance criteria before the customer does, and hand over the report and a sticker for the hub.

No install needed

Try the app on a simulated home before you install it.

Scan a code or open a link and a small slice of ThreadMapper runs without installing the app. It grades a simulated home with the same engine it would use on yours — twelve devices, two border routers, one offline, one on a failing battery — and says before anything else that every number in it is simulated. An App Clip may not read Apple Home or your local network, which is where the real app's numbers come from. Free.

Try the app on a simulated home before you install it.

Getting started

What you need

A home with at least one Thread border router — a HomePod mini, Apple TV 4K or similar — since ThreadMapper reads your network through HomeKit. The Network Assistant and the troubleshooter need iOS 26 on an Apple Intelligence–capable device; AI Insights works on any iPhone. The probe is entirely optional.

Want to look around first? Turn on Demo Mode and the whole app runs on a simulated network — no hardware, no HomeKit, nothing to set up.