The Settings tab lets you configure the app and your connected Meshtastic radio.
General app preferences including map style, notification behavior, and theme. These affect only the app — not the radio.
Which alerts the app raises is set per type in the iOS Settings app, under Settings → Meshtastic, in the Notifications section. Open Settings in App Settings takes you straight there. Every toggle is on by default.
| Setting | Description |
|---|---|
| Channel Messages | Alerts for incoming channel messages. Direct messages always notify unless the sender is muted, and a message that @mentions you notifies even with this off. |
| New Waypoints | Alerts when a node shares a new waypoint. |
| New Nodes | Alerts when a node the app has not seen before joins the mesh. |
| Low Battery | Alerts when the connected device's battery gets low. |
Turning a toggle off suppresses only the alert — messages, reactions, waypoints, and nodes are still received and still appear in the app. Muting a channel or a sender in the app silences that conversation regardless of these settings.
Radio configuration requires a connected node. Select your node from the Configure section if you have multiple nodes.
The Configure picker lists live nodes from the current node database, with favorites first. If the node database is reset or the selected node disappears, Settings clears that selection instead of opening configuration for a stale node. Reconnect to a radio or choose a currently listed node to continue configuring it.
LoRa settings control how your radio communicates on the mesh:
| Setting | Description |
|---|---|
| Region | Your geographical region. Must be set correctly — using the wrong region is illegal and prevents communication with local nodes. The standard regions are always available; the amateur (ham) 2m / 70cm / 1.25m bands and the EU 866 / narrow bands require firmware 2.8.0 or later and only appear when your connected radio supports them. |
| Modem Preset | Speed/range trade-off. Which preset to use depends on your region — on firmware 2.8+ the list is filtered to those legal there, and the recommended one differs by region (see below). |
| Bandwidth | Available under Advanced when Use Preset is off. The protobuf default value of 0 is shown as its effective firmware value: 250 kHz in sub-GHz regions and 812.5 kHz in the 2.4 GHz region. Choices are filtered for the selected region and connected radio. If a stored nonzero bandwidth is unsupported, the app shows a warning and prevents saving until you select a supported value. |
| Hop Limit | The number of times a message is repeated by other nodes. Higher values increase range but also mesh traffic. |
| Frequency Slot | Fine-tune the exact frequency within your region. |
| Frequency Override | Use a specific frequency in MHz instead of the calculated slot. The LoRa and Licensed Operator settings show the stored frequency without rounding it. |
On firmware 2.8.0 or later, the radio tells the app which modem presets are legal in each region. When you pick a region, the Presets list narrows to the compatible set, and if your current preset isn't allowed there the app switches you to that region's default. Setting the region to US on a newly flashed node moves the stock Long Fast preset to Long Turbo — Long Fast's bandwidth is not US-compliant — while a deliberately chosen preset that is legal in the US is kept. Amateur (ham) bands such as the Tiny and Narrow presets are marked licensed — the app shows a warning, and you should enable Licensed Operator (and set your call sign) in User config before transmitting. On older firmware the full preset list is shown unchanged.
Saving LoRa settings may reboot the radio and briefly disconnect it. If the radio reports a region from newer firmware that this app does not recognize, choose a supported region before saving.
Manage up to 8 channels (0–7). Channel 0 is the primary broadcast channel. Additional channels create isolated messaging groups with their own encryption keys.
When sharing channels, the share screen shows a QR code and link, and — on iPhones with NFC hardware (iOS 18 or later) — a Write to NFC Tag button. Hold a writable NFC tag near the top of your iPhone to save the channel link to it, replacing any content the tag already held; tapping that tag on another phone opens the same add-or-replace channels flow the QR code does.
Configure PKI (Public Key Infrastructure) encryption for direct messages. Requires firmware 2.5+.
Firmware that reports XEdDSA support can authenticate the sender of a mesh packet. Protection Level controls what the radio does with traffic it cannot authenticate:
| Level | Behavior |
|---|---|
| Compatible — Accept unsigned | Authenticates packets when possible, but accepts unsigned traffic for maximum compatibility. This is the default. |
| Balanced — Prefer authenticated | Recommended. Rejects unsigned broadcasts from nodes already known to sign, while still accepting traffic from nodes that never sign. |
| Strict — Require authentication | Accepts a remote packet only when it carries a verified XEdDSA signature or was successfully authenticated through PKI decryption. |
Strict applies to every remote mesh packet, including positions, messages, telemetry, node info, and routing traffic. Traffic from older firmware, from licensed (ham) nodes without PKI keys, and packets too large to carry a signature will disappear. PKI-authenticated direct messages remain available. The app asks you to confirm before enabling Strict.
The selector is disabled when the connected radio does not report XEdDSA support, or has not reported its capability yet — update that radio's firmware to configure the policy. Note that a verified signature proves which key sent a packet; it does not prove that a reported position or sensor reading is true or current.
This setting matches the Meshtastic app for Android, and the policy is enforced by the radio rather than the app.
On hardened lockdown-firmware radios, this page also shows a Lockdown section with the session status, a Lock Now button, and a Forget Stored Passphrase button. See Lockdown Mode.
Set your Long Name (display name) and Short Name (4-character/emoji identifier shown in the node circle).
Both limits are counted in UTF-8 bytes rather than characters, because that is how the radio stores them. Most emoji are four bytes, so a single emoji fills the short name; some older symbols are smaller. Typing past the limit stops rather than cutting a character in half.
How long a Long Name can be depends on the radio. Firmware 2.8 and later keeps 24 bytes of it — those radios store every node they hear in a slimmer record to save memory, and truncate anything longer as it arrives. Older firmware keeps 39. The hint under the field shows whichever applies to the radio you are connected to.
A name you already have is left alone, even if it is longer than the radio you are now connected to would keep. Note that a 2.8 radio hearing an older one still stores only 24 bytes of its name, so a longer name is shortened by everyone else's radio even when your own keeps it.
BLE radio settings including PIN mode and power saving. Changes apply on next radio restart.
Device role, serial output, debug log streaming, and node info broadcast interval.
The Repeater role is deprecated and can no longer be selected for new configurations. If a node is still set to Repeater it is shown as "Repeater (Deprecated)" with a reminder to switch it to a Router-based role (Router or Router Late).
Screen timeout, auto-carousel of screens, flip screen for alternate mounting orientations, and OLED contrast.
Controls which direction the on-device compass points when the screen is at rest. Use this when your radio is mounted at an angle or upside-down.
| Option | Description |
|---|---|
| 0° | Default orientation — north at the top. |
| 90° | Rotated 90° clockwise. |
| 180° | Rotated 180° (upside-down). |
| 270° | Rotated 270° clockwise (90° counter-clockwise). |
| 0° Inverted | Default orientation with the display flipped (mirrored). |
| 90° Inverted | 90° clockwise with the display flipped. |
| 180° Inverted | 180° with the display flipped. |
| 270° Inverted | 270° clockwise with the display flipped. |
Wi-Fi SSID/password for TCP connection, NTP server, and Ethernet (supported hardware only).
GPS update interval, position precision, and smart position broadcasting. Enable Broadcast Position to share your location with the mesh.
The GPS Mode selector (Enabled / Disabled / Not Present) is the single source of truth for the GPS state that the app writes to the radio. The older on/off gpsEnabled field it replaced is deprecated: the app no longer writes it, but still reads it from older firmware so existing devices keep working. No action is needed when upgrading — your GPS setting is preserved.
Battery saving profiles, sleep modes, and minimum wake time. Critical for solar-powered router nodes.
Optional feature modules. Only available when your connected node supports the module.
| Module | Description |
|---|---|
| Ambient Lighting | Control NeoPixel/LED lighting on supported hardware. |
| Audio | Codec2 voice communication settings. Only available when LoRa region is set to LORA_24 (2.4 GHz). Configure Codec2 encoding, bitrate, PTT pin, and I2S GPIO pins. |
| Canned Messages | Pre-programmed message shortcuts accessible from the device buttons. |
| Detection Sensor | Configure PIR motion or contact sensors. |
| External Notification | Buzzer or LED alerts for incoming messages. |
| Mesh Beacon | Advertise this node's mesh so other users' discovery scans can find and join it, and listen for beacons from nearby meshes. Requires firmware 2.8.0+. |
| MQTT | Uplink/downlink messages to an MQTT broker for internet bridging. |
| Neighbor Info | Periodically broadcasts information about directly-heard neighbors to help visualise mesh topology. Update interval ranges from 4 hours (default) to 72 hours. Enable Transmit over LoRa to share neighbour data over the radio in addition to MQTT and PhoneAPI. |
| Range Test | Automated range testing with position logging. |
| Pax Counter | Anonymised foot-traffic counting via Bluetooth/Wi-Fi probe detection. Configure WiFi Threshold (dBm) and BLE Threshold (dBm) to control the RSSI sensitivity for device counting — default is −80 dBm for both. |
| Ringtone | Custom RTTTL melodies for notification tones. |
| Store & Forward | Store packets for nodes that are temporarily offline. |
| Serial | UART serial output for integration with other hardware. |
| Telemetry | Device, environment, and air-quality sensor reporting. |
| Traffic Management | Mesh traffic optimization — position deduplication, rate limiting, and unknown-packet filtering. Requires firmware 2.8.0+. |
The Traffic Management module helps reduce unnecessary mesh traffic and improve network efficiency. It is available on nodes running firmware 2.8.0 or later.
The screen opens with a placement assessment: how many nodes this radio heard directly (over RF, within the last two hours), and whether that makes the module worth enabling. Traffic management pays off on a well-placed node with many direct neighbors — 50 or more heard in that window, ideally around 200. One transmission from such a node reaches most of them at once, so cutting hop counts on the chattiest packets removes the retransmission storm that follows each broadcast. On a node with a handful of direct neighbors it has little to police. Each feature is enabled implicitly by a non-zero value — turning a section's toggle off (or the master Enabled switch) clears its values and disables that feature on the radio. Turning a feature on starts its interval at the firmware default rather than zero, so saving right away enables it.
| Setting | Description |
|---|---|
| Enabled | Turns the module on or off. |
| Position Deduplication | |
| Position Dedup | Drop repeated position broadcasts. |
| Minimum Interval | Positions from the same node arriving sooner than this are dropped. The firmware default is five hours. |
| NodeInfo Direct Response | |
| Direct Response | Answer NodeInfo requests from the local cache instead of flooding the mesh. |
| Max Hops | Only answer requestors within this many hops, 1 to 3. The radio's role caps the effective value: routers allow up to 3, plain clients answer direct requestors only. |
| Rate Limiting | |
| Rate Limiting | Throttle nodes that send too many packets. |
| Window | The time window packets are counted over. |
| Max Packets | The most packets one node may send per window. |
| Unknown Packet Handling | |
| Drop Unknown | Drop packets that cannot be decrypted. |
| Threshold | How many per window before the sender is dropped. |
The Tools entry appears only on iPhones with NFC hardware running iOS 18 or later; it is hidden on iPads, Mac Catalyst, and any device without an NFC radio.
It contains an NFC Tags section:
| Action | What it does |
|---|---|
| Write Contact to NFC Tag | Saves your connected node's contact link to a writable NFC tag, replacing any content it already held. Hold the tag near the top of your iPhone. |
| Scan NFC Tag | Reads a Meshtastic tag and imports what it holds — a contact opens the add-contact confirmation sheet, a channel link opens the add-or-replace channels flow, exactly as scanning the equivalent QR code would. |
If a scanned tag holds something other than a Meshtastic contact or channel link, or its channel settings can't be read, the scan reports the problem rather than appearing to succeed.
Tags written by the Meshtastic app for Android are interchangeable with these — both platforms write the same contact and channel links.
Check for and apply OTA firmware updates to your connected radio directly from the app. See Firmware Updates for full details.
The Tools screen (Settings → Tools) provides utilities for backing up, restoring, and sharing your connected radio's configuration.
Write your node's contact card to an NFC tag so others can add you by tapping it. Requires a connected node and NFC-capable hardware.
Save the connected node's full configuration — radio, module, and channel settings — to a .cfg file you can back up or import onto another device. The format matches the Android app and the meshtastic CLI.
Apply a saved .cfg configuration file to the connected node. After you pick a file, a review sheet shows what it contains, grouped into sections you can turn on or off before applying:
| Section | What it restores |
|---|---|
| Owner Name | Long and short name |
| Radio & Device | Device, display, position, power, and Bluetooth settings |
| Network | Wi-Fi / Ethernet settings |
| Modules | All module settings (MQTT, Telemetry, Canned Messages, and so on) |
| Ringtone & Canned Messages | Notification melody and canned-message text |
| Fixed Position | A saved fixed GPS position |
| Security & Identity | Private key, admin keys, and admin access |
| Channels & LoRa | Channels and LoRa/region settings |
All present sections are selected by default except Security & Identity, which is off by default: importing it replaces this node's cryptographic identity (its private/public key) and admin keys, which can break existing direct messages and lock you out of local administration. Leave it off when cloning a configuration onto a second radio that should keep its own identity.
Every non-empty import commits the selected settings and reboots the radio, so it briefly disconnects; the app reports this so you can reconnect. Settings are applied in order and the import stops at the first failure, telling you exactly what was and wasn't sent. Settings unsupported by the connected radio appear under Not Supported by This Radio instead of being sent.
MQTT and Serial settings are applied after the main transaction because either can drop the Bluetooth link before the transaction is committed. If that disconnect interrupts them, the result shows Needs a Second Pass so you can reconnect and apply those sections separately. If the radio disconnects before acknowledging the commit, the result warns that saving was not confirmed.
You can cancel while a setting is being sent over Bluetooth or TCP; cancellation typically completes quickly. The app stops sending additional sections, then commits the sections already applied so the radio does not remain in an unfinished edit transaction. If the transport callback does not settle, the sheet allows dismissal after 15 seconds. A write already handed to the operating system may still reach the radio, so review the result before retrying.
Because the radio can silently discard settings it accepts, the result screen also offers Verify Against the Radio: once the radio reconnects and sends its configuration back, it compares each imported section against what the radio actually holds. Re-running an import is safe.
On devices running iOS 26 or later, the in-app documentation is automatically translated to your device language when it differs from English.
If translation is unavailable (older than iOS 26, unsupported language, or language pack not downloaded), the original English documentation is displayed. The app never shows blank or broken pages.