Wildcat Mesh
Wildcat Mesh app icon: a cat's face, half amber and half blue

Free on the App Store

One iPhone app for Meshtastic® and MeshCore radios.

Messages, nodes and maps for both networks. Games like Fox Hunt that get you outside. A bridge that carries messages between the two. No cell service, no internet, no account.

Download on the App Store New to mesh? Start here

iPhone · iOS 17 or later · Free · Version 1.1
Needs a Meshtastic or MeshCore radio, or try Practice mode without one

The Meshtastic tab: a practice handheld node with battery, channel use, best signal, uptime and the nodes it hears nearby The MeshCore tab: a companion node with battery, packets heard, radio settings and nearby repeaters sorted by signal
2networks, both connected at once
0cell bars needed: radios talk to radios
Freeno account, no ads, no subscription
0data collected. It stays on your iPhone

NewVersion 1.1

What's new in 1.1

Meshtastic

Each radio keeps its own chats

Switch Meshtastic nodes and Messages switches with it. Earlier radios' chats stay on your phone and stay readable, even while a node is disconnected.

Both networks

Check for firmware updates

Tap Check for updates and Wildcat compares each node's firmware with the latest official Meshtastic and MeshCore releases, on your iPhone. It only checks when you tap, and nothing about you or your radios is sent.

01The networks

First, what's a LoRa mesh?

Small, low-power radios that pass text messages to each other, radio to radio. Every radio you add stretches the network a little further. No cell towers, no Wi-Fi, no internet and no monthly bill.

  1. You type on your phoneYour phone hands the message to your own radio over Bluetooth.
  2. Your radio sends it over the airLoRa trades speed for range: short, slow messages that can carry a mile or more, and much farther from a hilltop or a roof.
  3. Other radios pass it alongEach relay is a hop. Hop by hop, it reaches the person you wrote to, even with no signal bars anywhere.

There are two big networks built on these radios. They do the same job in different ways:

Meshtastic

The larger, longer-running one. Every radio helps.

Each node repeats what it hears, up to a hop limit (3 by default), so a few friends' radios make a mesh all by themselves. It runs on lots of boards and has a big community.

meshtastic.orgDocsRadiosGitHub

MeshCore

Newer and leaner. Repeaters do the forwarding.

The radio you carry (a companion) never repeats. Repeaters, ideally up high, pass messages on. The first message to someone floods out; after that it takes the route it learned, so busy meshes stay quieter.

meshcore.ioDocsFlasherGitHub

At a glanceMeshtasticMeshCore
Who passes messages onEvery node, by defaultRepeaters and room servers only
How a message finds youRebroadcast hop by hop, up to the hop limitFloods the first time, then follows a learned path
Longest message200 bytes133 bytes
Talks to your phoneBluetoothBluetooth (Companion firmware)
Colour in WildcatAmberBlue

Why one app for both?

The two networks can't hear each other: different radio settings, different packets. Put a Meshtastic radio and a MeshCore radio side by side and they won't swap a word. Wildcat connects to one of each at the same time, and the bridge lets your phone carry a private channel across.

A Meshtastic mesh on the left, where every node relays, and a MeshCore mesh on the right, where a repeater on a mast relays. Your phone sits between them, connected to one radio on each side by Bluetooth, and a message travels from one mesh, through the phone, into the other. YOUR PHONE MESHTASTIC MESHCORE
Two meshes that can't hear each other, and one phone that can. On MeshCore, the repeater on the mast does the forwarding.

02Both networks

Meshtastic and MeshCore, side by side

Connect a Meshtastic node and a MeshCore node at the same time. Each network keeps its own colour, amber for Meshtastic and blue for MeshCore, so you always know which radio a message travels through.

  • Messages for both networks in one list: channels and direct chats, grouped by radio, with search and filters.
  • People: everyone your radios know, with the same person merged across networks.
  • One map with both networks' nodes. Tap a pin for bearing, distance, hops and signal.
  • Delivery ticks on both networks, replies and reactions on Meshtastic, and notifications when a message arrives.
Messages: MeshCore chats in blue and Meshtastic chats in amber, each with hops and signal strength A map with MeshCore and Meshtastic nodes together; a selected repeater shows bearing 050, distance 690 m, 0 hops and SNR 9.2

03The bridge

Your phone joins the two meshes

The two networks can't hear each other. Wildcat can: pick one private Meshtastic channel and one private MeshCore channel, turn the bridge on, and your phone relays messages between them while both nodes are connected.

  • Bridged messages show where they came from: "Bridged from Meshtastic", with the hops they took there.
  • Start a message with @name to reach one person privately on the other network. Their reply finds its way back.
  • Geo Gifts cross the bridge too.
  • Public channels can't be bridged: they belong to everyone nearby, so Wildcat won't push your traffic onto their mesh.
Real radios, one take. Other people's node names are blurred.

04Games outside

Fox Hunt, and more reasons to go for a walk

Fox Hunt is an old ham radio game: someone hides a radio, and everyone else finds it by its signal. The fox screen is a field instrument: a live signal meter, a two-minute trend, a bearing radar and haptic "Geiger" ticks that speed up as you get warmer.

Fox Hunt
Host from your phone: friends join by scanning one QR code, and your phone referees over the radio. No server. Or hunt solo.
Geo Gifts
Messages that only open when someone stands on the spot. Send them over the mesh or as a link.
Daily Fox
Each day a real node near you is the fox. Find it by signal, with hints if you need them.
MeshCore fox hunt
Pick a repeater and track it down by its adverts, relayed traffic and pings.
Explore
A Nodedex of every node your radio hears directly, achievements and a daily streak.
Fox Hunt: 12.0 dB SNR, Warmer, a segmented signal meter, a trend chart and a bearing radar pointing 053 degrees; the text says Very close

05My Mesh

Every radio you own, in plain English

My Mesh lists your radios on both networks, whether each one is online, its battery, and what it actually does: "Companion · your radio, never repeats", "Repeater · forwards everyone's messages".

  • Radios join when your phone connects to them, when you log in to a repeater as admin, or when you mark a node you hear as yours.
  • A short "How your mesh works" explainer: why Meshtastic radios all repeat, why MeshCore leaves it to repeaters, and why one repeater up high changes everything.
  • A Home Screen widget shows both nodes, the bridge and the latest messages.
My Mesh: three radios across two networks, a MeshCore companion, a Meshtastic handheld and a MeshCore repeater, each with its role and battery

06Pro data

For the radio nerds: all the numbers

Every message carries its signal (SNR and RSSI), hop count and route. Long-press for the raw packet. Every node page ends in its raw fields, ready to copy.

SNR9.75dB
RSSI−88dBm
Hops2of 3
Patha4›c4
  • Trace route on both networks, with the signal at every hop, so you can see which link is the weak one.
  • Repeater admin for MeshCore: log in over the air, read live status (uptime, battery, noise floor, airtime) and use a remote console.
  • Node settings for both networks: radio preset, channels (create, share and join by QR), role, position, power.
  • A radio log of every Wildcat game message sent and received.
A MeshCore repeater's page: role explainer, link readouts of SNR 9.75 dB, RSSI −88 dBm, 0 hops, and raw fields such as public key, type, radio settings and path

07Private by design

No account. No servers. No data collected.

Wildcat talks to your radios over Bluetooth, and your radios do the talking over the air. There is nothing of ours in between.

Account

None

No sign-up, no login, no subscription, no ads.

Your data

Stays on your iPhone

Chats, contacts, gifts and settings live in the app. Secrets such as repeater passwords go in the Keychain.

Tracking

Nothing collected

No analytics or tracking. Location is used on the phone for games and never sent to us. Privacy policy

Moderation

On your phone

Block anyone on both networks, report by email, and a strong-language filter that's on by default.

08Practice mode

No radio yet? Try everything anyway.

Tap Play → Practice. Wildcat starts a pretend Meshtastic radio and a pretend MeshCore radio that live on your phone, with made-up nodes, chats, repeaters and a fox to hunt. Nothing is transmitted.

  • Hunt the practice fox straight away. Its code is 4821.
  • Explore Messages, both radio tabs, the maps, My Mesh, Geo Gifts and Explore.
  • End practice from the Meshtastic tab whenever you like.
The Play tab in practice: My Mesh, Fox Hunt, Geo Gifts and Daily Fox

09Quick start

Up and running in a minute

  1. Close the official Meshtastic or MeshCore app first (swipe it away). A node talks to one phone app at a time.
  2. Meshtastic: open the Meshtastic tab and tap Find my node. MeshCore: open the MeshCore tab and tap Find MeshCore nodes. MeshCore nodes need the Companion (Bluetooth) firmware.
  3. Allow Bluetooth when iOS asks. If it asks for a PIN, use the one on the node's screen; nodes without a screen usually use 123456.
  4. Brand-new Meshtastic node? Tap Set up this node and pick your region. It won't transmit until it has one.
  5. Say hello in Messages, then try Play → Daily Fox.

The user guide covers every tab, the bridge, Fox Hunt, repeater admin and troubleshooting. The same guide is built into the app and works offline: tap ? on the Play tab, or Meshtastic → Guide.

10FAQ

Common questions

What's the difference between Meshtastic and MeshCore?

Both are LoRa mesh networks for text messages without cell service. On Meshtastic, every radio helps pass messages along. On MeshCore, the radio you carry never repeats; dedicated repeaters do. The two can't hear each other, which is why Wildcat speaks both. See The networks above, or the official sites: meshtastic.org and meshcore.io.

Which radios work?

Meshtastic nodes with Bluetooth (Heltec, RAK, Seeed, LilyGO and others), and MeshCore nodes running the Companion (Bluetooth) firmware. You can connect one of each at the same time. MeshCore repeaters and room servers have no phone Bluetooth; they appear in your contacts once your node hears them, and you manage them over the air.

Shopping for one? Each project keeps its own list: Meshtastic devices, and the boards in the MeshCore flasher.

Do I need a ham radio license?

Not in the US. Meshtastic and MeshCore radios there use the license-free 915 MHz band (902–928 MHz). Set your radio to your correct region; Wildcat asks for it when you set up a new Meshtastic node. Outside the US, check your own country's rules.

Is the app free?

Yes. There is no account, no subscription and no advertising.

Does it need an account or the internet?

No account, and no internet for messages: they go radio to radio over the air, so Wildcat works where there are no signal bars. Maps use Apple Maps, so new map areas load when you have a connection.

What data leaves my phone?

Nothing goes to us: no analytics, no tracking, and no servers of ours. What leaves your phone is what your radio sends over the mesh: your messages (anyone on a channel can read it, and everyone nearby can read Public; private channels are encrypted by the radio), your position only if you choose to set your radio's position, and Geo Gift hints and "opened" receipts. Reports go only if you send the email. The privacy policy has the details.

Can I keep using the official Meshtastic or MeshCore app?

Yes, just not at the same moment. A node talks to one phone app at a time, so close the other app (on your phone, and on your Mac for MeshCore) before connecting in Wildcat.

How does the bridge work?

Your phone relays one private Meshtastic channel and one private MeshCore channel to each other while Wildcat is open and both radios are connected. No internet is involved. Public channels can't be bridged. Start a message with @name to reach someone privately on the other network.

Why can't I see other people's channels?

A channel is a name plus a shared key. Your radio can only read channels you've added; everyone shares Public. Friends can share a channel with you as a QR code or link.

Do I need a Den or any server?

No. Every game works with just phones and nodes. The Den is an optional base station. Den Lite turns a node that stays at home into one, right in the app. The full Den software for a Raspberry Pi, with always-on history, coverage maps and refereed hunts, isn't public yet.

Does it work in the background?

Bluetooth stays active in the background only to keep your radios connected, so messages keep arriving and notify you. The bridge and coverage walks need Wildcat open.

What does Wildcat do with my location?

It uses it on your iPhone, only while you're using the app, for Fox Hunt, Daily Fox, Territory, Geo Gifts, coverage walks and, if you choose, setting your radio's position. It is never sent to us. See the privacy policy.

11Support

Get help

Contact

Questions, bugs or feedback? Email me. Please include your iPhone model, iOS version, and which radio and firmware you use.

redthoroughbreds@gmail.com

Report or block someone

Long-press any message and choose Report… and Wildcat fills in an email to the address above for you to send; messages travel radio to radio with no server, so reports go by email from your phone.

Choose Block from the same menu to hide someone on both networks: no messages, no notifications, and the bridge won't relay them. Unblock any time in Meshtastic → Safety.

Grab a radio. Head outside.

Wildcat Mesh is free on iPhone. No radio yet? Practice mode lets you try every screen first.