Flash a card (flash guide), insert it, power the node. On first boot it broadcasts an open WiFi network named CicadaTak-XXXX (the XXXX is unique to the node). Join it from your phone and open the CicadaTAK app — the NODE SETUP wizard takes over the screen ("New node detected!"). The fields, top to bottom:
Callsign & hostname. Your identity on the mesh — it labels your dot, your chat messages and your position broadcasts. The hostname auto-fills from the callsign.
Mesh ID & mesh password. The radio-level credential the HaLow radios authenticate with. Every node you want in the same mesh must get the exact same Mesh ID and mesh password — enter identical values in the wizard on each node.
Team passphrase. The crypto key — team chat encryption and the Meshtastic channel PSK. Must match your teammates'; unlike the mesh credential, you can rotate it any time later by QR (§03).
HaLow channel & node role. Leave the defaults unless you have a reason — channel and bandwidth can be re-tuned fleet-wide from the app later (§10).
WiFi AP name & password. The node's own network after setup — what your phone joins in the field. Pick a password you'll remember at 2 AM.
Setup & Reboot. The node applies everything and reboots (give it a minute or two). Its new WiFi appears under the name you chose — join it and the app connects. GPS is auto-detected, and a factory-fresh Heltec LoRa board gets flashed with the right firmware automatically.
Mesh credential vs team key — know the difference. Mesh ID + mesh password decide which radios can peer at all: a node with different values is a separate mesh and simply never appears, no error shown. The team passphrase decides who can read the traffic. Mesh credentials are set per node in this wizard; the team key can be rotated later from Settings and shared by QR.
The wizard — identity and mesh credentialsRadio, WiFi AP — then Setup & Reboot
02After the wizard
When the wizard finishes, the node reboots and comes up as a password-protected WiFi access point named after your node. Join it from your phone and the app connects to the gateway automatically (it lives at 10.41.254.1 — already set as the default). From here, four things are worth doing before you ever leave the house:
Set your callsign and color. Settings → Callsign, and Settings → Node Color. The callsign rides on every position broadcast; the color is how your dot, trail and labels render on everyone's map.
Change the team passphrase. The default is public knowledge — see §03. Do this before anything sensitive goes over the air.
Download offline maps for your area. The image ships with a coast-to-coast overview only. Pull satellite detail for your operating area while the node has good internet — see §04.
Send a test message and watch the map. Your own dot should appear once GPS gets a fix (Settings → GPS Status shows fix). With a second node up, ping it from the Nodes tab.
No GPS on a relay you've mounted somewhere? Settings → Gateway Connection → Fixed Position lets you drop a pin (or type lat/lon) to anchor it on the map.
The map, minutes after setupNodes tab — the fleet at a glance
03Lock in your team key
One passphrase drives all of CicadaTAK's team crypto: team chat encryption between phones, and the encrypted Meshtastic channel on the LoRa side. Set it once, share it once, and every layer stays in sync.
Set it: Settings → Team Passphrase → enter a new phrase → Save & Sync to Node. Your phone and your connected node now use the new key.
Share it: tap Share QR and let each teammate scan it with their CicadaTAK app (Settings → Scan QR). The QR is a standard Meshtastic channel-share code, so a vanilla Meshtastic radio or the Meshtastic app can scan the same code to join the encrypted channel.
Each teammate syncs their own node: after scanning, their app pushes the key to whichever node they're connected to.
Caveats. The passphrase ships as cicadatak-default — anyone who has read this website can decrypt traffic on that default, so change it before real use. Rotation applies per node: "Save & Sync" updates the node you're connected to, and teammates carry the new key to theirs by scanning the QR — there's no single fleet-wide rotate button.
Settings → Encryption — set, sync, share
04Download offline maps
A fresh node carries overview tiles for the continental US (~1 GB) — enough to see the shape of the country, not enough to navigate a trail. Detail lives on your node's SD card, and it's why we recommend a 64 GB card: the tile store grows to fill it. Downloads come from the USGS over the node's internet uplink, so do this at home, not in the field.
In the app: Settings → Offline Maps → Select Download Area.
Tap the map to place a download box (20 × 20 miles by default, shrinkable to 5), name it, save it.
Pick a tier: Overview (zoom 10–15, ~12K tiles — minutes to tens of minutes), Detail (zoom 16–18, ~50K tiles — plan on hours), or All.
Watch the region outline: blue = overview complete, green = detail complete. Downloads resume where they left off — already-cached tiles are skipped instantly.
Caveats. The in-app downloader currently fetches satellite imagery (USGS NAIP) — the street basemap renders when your phone has internet but can't be bulk-downloaded yet. Areas you never downloaded show dark when offline; that's the offline-first design, not a bug. A full-detail region runs ~14 GB, so a couple of AOs fit comfortably on a 64 GB card. Once tiles are on the node, every phone that connects gets them — teammates don't repeat the download.
Settings → Offline Maps → Select Download Area
05The map
Everything on the Map tab is live mesh state: every node's position in its color, breadcrumb trails, and the tools below. Tap a teammate's dot to select them — you get corner brackets, a dashed navigation line, and a distance/bearing readout; rotate to landscape for a compass-first navigation layout.
Markers
Long-press to drop a marker; tap one for its detail card — Go To sets it as your compass target. Markers sync across the team.
Measure & Routes
Tap Measure, tap points, then the green ✓ — the line stays on the map and a slim card docks with total distance and bearing. To build a keeper straight away, use the route button next to Measure: draw your points, hit ✓, and it jumps right to naming. Save Route does the same from a measured line; saved routes get a Go To too. Routes are stored on your phone — they don't sync to the team yet.
Geofences
Draw circles or polygons with entry/exit alerts — every drawing bar has a red ✕ to cancel and a green ✓ to finish (on Android, the back button also exits a drawing mode). Alert history lives in Settings → Geofence Alerts (last 100 events). GPS drift near a small fence can false-trigger — size fences generously.
Mesh health overlay
Toggle to draw the radio links between nodes, colored by throughput: green above 5 Mbps, orange 2–5, red below 2. Tap a link line for its detail card (throughput, or SNR for LoRa links). A globe icon means the mesh has an internet uplink.
Rotate to landscape for the navigation layout — compass, status line, side rail
In landscape the compass rose reads true north and stays correct however the phone is rotated, and the layers button (satellite / street map / hybrid) sits next to the tools chevron — same controls as portrait, laid out for the wide screen.
06Chat & photos
Two channels on the Chat tab: Team is end-to-end encrypted with your team key; Public rides the open Meshtastic channel so ordinary Meshtastic users can participate (see §09 for when that channel exists). One gray check = your node accepted the message; blue double-check = a peer received it.
Photos go team-only: the app compresses before sending (about 800 px), the timeline shows thumbnails, and tapping opens a full-screen viewer.
Caveat. Photos travel over the HaLow mesh only — they're far too big for LoRa. A teammate reachable only via LoRa (see hop badges, §08) gets your text but not your pictures.
Team chat — locks and delivery checksPTT — hold to talk
07PTT voice
The PTT tab is a radio: press and hold the big button to talk, release to stop. Audio is live-streamed voice with forward error correction, tuned for the mesh. Finger drift while transmitting won't drop your press — the button is deliberately forgiving.
Caveats. On iOS, PTT is foreground-only: keep the app open and the screen on to hear traffic (the app holds the screen awake for you). On Android, a foreground service keeps voice alive with the screen off or the app backgrounded. Voice never bridges over LoRa — it's HaLow-mesh only.
08Nodes & mesh health
The Nodes tab has two views — toggle with the header icon. List shows each node's callsign, signal, battery and hardware state (GPS and LoRa status icons); tap a node and hit Ping Node for round-trip time, a throughput estimate, and the route it took ("direct" or "via …"). Topology draws the live mesh as a graph, GPS-positioned, links colored by throughput, LoRa links dotted purple.
Orange 1h / 2h / 3h badges mark nodes reached over LoRa and how many hops away they are. The internet-providing node wears a GATEWAY badge.
Topology view — live links with throughput
09LoRa / Meshtastic modes
Nodes with a LoRa radio bridge the mesh to Meshtastic: kilometers of reach for positions and text when teammates are beyond HaLow range. Settings → LoRa Mode picks how visible that radio is:
Mode
Team channel
Public channel
Use when
Open
Encrypted
On
Working alongside the public Meshtastic mesh — SAR, group events.
Covert
Encrypted
On (listen + map)
The default. Your team stays private, but public Meshtastic nodes still appear on your map.
Dark
Encrypted
Off — separate frequency
Fully isolated operations, and when you want maximum HaLow throughput.
Caveats. The plain picker changes only the node you're connected to — use Push to Entire Fleet to move everyone at once, or you'll split the LoRa net without noticing. Open and Covert cost real HaLow throughput: the LoRa radio's transmit bursts desense the HaLow radio beside it, roughly doubling retry rates versus Dark — run Dark in the field when mesh speed matters and flip back when you need public interop. What bridges over LoRa: text, positions, markers. What doesn't: photos and voice.
Settings → LoRa Node — note the "changes only this node" fine print
10Fleetwide bandwidth
The HaLow mesh trades range against speed by channel width. The fleet ships at 2 MHz — the balanced default — and Settings → Fleetwide Bandwidth re-tunes every node in one coordinated move:
Width
Measured throughput*
Character
1 MHz
~0.9 Mbps
Maximum reach — thin, long links
2 MHz
~1.5 Mbps
Default — best-validated range/capacity balance
4 MHz
~3.0 Mbps
High capacity for closer-in deployments
8 MHz
~6.6 Mbps
Strong-signal links only; loses reach fastest
*Mean UDP across node pairs at neighborhood ranges — treat as relative, not promised.
Pre-flight. Tap Pre-Flight and confirm every node shows green. If any node is unreachable, don't proceed — a staged change aborts everywhere rather than leave the fleet split.
Change Fleet. All nodes stage the new width, then reboot together. Expect roughly two minutes of mesh outage while they re-peer.
Confirm Keep. The fleet comes back UNCONFIRMED with a countdown. Tap Confirm Keep to lock it in — if you don't (say the new width broke your links and you never reconnected), every node reverts itself to the old width in ~10 minutes. That auto-revert is the safety net; don't fight it, just re-try with a more conservative width.
Caveats. Change width only when the whole fleet is up and reachable. 8 MHz is a strong-signal option — it falls off with distance faster than any other width and hasn't been validated on long field links. If one node misses the change it stays manageable (all widths share an anchor frequency), but mixed widths pass data poorly — re-stage the straggler so the fleet converges on one width.
Settings → Fleetwide Bandwidth — Pre-Flight, then Change Fleet
11Phone-direct mode — no node at all
The app can also skip the node entirely and pair straight to a handheld Meshtastic radio over Bluetooth: Settings → Connection → Meshtastic Radio, scan, pair (iOS asks for PIN 123456). You get the same map, encrypted team chat and public chat, positions, and LoRa mode control — a pocket-sized fallback that interoperates with the full fleet.
Caveats. Phone-direct is positions + text only: no photos, no PTT, no offline tile downloads, and the Fleetwide Bandwidth card hides (there's no fleet to command). Identity comes from the radio — the phone only fills in GPS if the radio lacks a fix.
Settings → Connection — node WiFi or radio Bluetooth
12More nodes, updates & reset
Adding a node: flash another card (flash guide), boot it, join its CicadaTak-XXXX setup WiFi and the app's wizard takes over — or use Settings → Setup New Node. Give it the same team passphrase and it joins the mesh.
Blank LoRa board? If you add a factory-fresh Heltec V3 to a node, the wizard detects it and flashes the correct Meshtastic firmware automatically — no computer needed.
Firmware updates: flash the latest image to a card and swap it in — the node re-runs the wizard on first boot. Watch the flash page for releases, or join the release list from the home page.
Health checks: Settings shows GPS state (none / down / no_fix / fix) and LoRa hardware status; the Nodes tab's ping tells you link quality node-to-node.