Configuration
Setting device role, rebroadcast mode, and power optimization.
- Setting the Device Role
- Rebroadcast Mode: ALL_SKIP_DECODING
- Power Optimization Settings
- Choosing a Modem Preset
Setting the Device Role
Configuring a device as a Meshtastic repeater involves two key settings: the device role and the rebroadcast mode. Both can be set using the Meshtastic mobile app or the Python CLI.
Using the mobile app (Android/iOS)
- Connect to your device in the Meshtastic app
- Navigate to Device Settings (or Radio Configuration depending on app version)
- Find Device Role and select Repeater (or Router if you want visibility)
- Save settings - the device will reboot to apply changes
Using the Python CLI
Install the CLI if you have not already:
pip install meshtastic
Connect the device via USB, then set the role:
meshtastic --set role REPEATER_ROLE
Verify the change:
meshtastic --info
After setting the role
Once set to REPEATER, the device will no longer appear in other nodes' node lists (this is by design). It will silently and efficiently relay packets without broadcasting its own data. To confirm it is operating, check the serial output or observe that messages are being relayed through it.
Flashing Meshtastic firmware
If your device does not have Meshtastic installed, use the Meshtastic Web Flasher to install firmware directly from Chrome or Edge - no software installation required. Connect via USB, select your device type, and click Flash.
Setting the region
Before the radio will transmit, you must set the correct region:
meshtastic --set lora.region US
Or in the app: Config → LoRa → Region → US. Using the wrong region transmits on incorrect frequencies and may be illegal.
Rebroadcast Mode: ALL_SKIP_DECODING
The rebroadcast mode controls how a node handles incoming packets for retransmission. For repeater deployments, ALL_SKIP_DECODING is strongly recommended.
What ALL_SKIP_DECODING does
In this mode, the node rebroadcasts valid LoRa packets without attempting to decrypt them. This has several important advantages:
- Lower CPU usage and power draw - no decryption/re-encryption work per packet
- Works with all encrypted channels - the repeater can relay messages for private channels even without knowing the channel key (PSK). This is essential for a public repeater serving multiple user groups.
- Preserves end-to-end encryption - messages are never decrypted at the repeater, maintaining the security model
- Faster retransmission - less processing time per packet means faster relay
Setting ALL_SKIP_DECODING via app
- Connect to your device in the Meshtastic app
- Go to Config → LoRa Settings
- Find Rebroadcast Mode and select ALL_SKIP_DECODING
- Save and allow the device to reboot
Setting ALL_SKIP_DECODING via CLI
meshtastic --set lora.rebroadcast_mode ALL_SKIP_DECODING
Other rebroadcast modes (for reference)
| Mode | Behavior | Use case |
|---|---|---|
ALL_SKIP_DECODING | Rebroadcasts without decrypting | Recommended for all repeater deployments |
ALL | Decrypts, then re-encrypts and rebroadcasts | Only if you need to filter or inspect content (not typical) |
LOCAL_ONLY | Does not relay to other nodes | Not suitable for repeaters |
DISABLED | No rebroadcasting | Not suitable for repeaters |
Power Optimization Settings
Repeater and Router role nodes keep the LoRa radio on continuously, which draws significantly more power than a client device that sleeps between uses. These settings minimize everything else to extend runtime on battery or solar power.
Disable Bluetooth
Once configured, a dedicated repeater does not need Bluetooth. Disabling it saves power and removes an unnecessary wireless interface.
meshtastic --set bluetooth.enabled false
Disable GPS (REPEATER role handles this automatically)
The REPEATER role does not broadcast position data, so GPS is effectively unused. If your board has a GPS module, you can disable it explicitly:
meshtastic --set position.gps_mode DISABLED
Disable the screen
If your device has a display, set the screen timeout to minimum or disable it entirely. Display backlights draw meaningful power.
meshtastic --set display.screen_on_secs 0
Set appropriate transmit power
Transmit power is the largest variable power draw. Set it to the minimum level needed for your coverage goals. Higher power is not always better - it also increases interference with nearby nodes.
meshtastic --set lora.tx_power 27
(27 dBm = 500 mW; adjust based on your antenna gain and coverage requirements while staying within FCC limits.)
Use the right modem preset - but match your local network
Modem preset affects how long the radio is transmitting each packet, which directly impacts power consumption:
- Slower, longer-range presets (Long Slow, Long Moderate) keep the radio transmitting longer per packet - higher average power draw
- Faster presets (Medium Slow, Medium Fast) transmit each packet more quickly - lower average power draw, and better network capacity in dense areas
- Long Fast (firmware default) sits in the middle
Do not choose a preset based on power alone - you must use the same preset as the rest of your local network. Check what preset your local community or regional network uses before deploying. See the Choosing a Modem Preset page for guidance.
Managed Mode (optional)
For a deployed repeater that should not be reconfigured by whoever is near it, enable managed mode to lock down configuration access. Only CLI/serial access can change settings when this is enabled.
meshtastic --set device.role MANAGED
Choosing a Modem Preset
Your modem preset is one of the most consequential configuration decisions for your repeater. It must match every other node on your channel - and different regional communities have standardized on different presets.
What a preset controls
Each preset is a named combination of three LoRa parameters:
- Spreading Factor (SF): Higher SF = longer range, longer airtime per packet. Range from 7 (fastest) to 12 (longest range).
- Bandwidth (BW): Wider bandwidth = faster data rate, slightly less range.
- Coding Rate (CR): Higher CR adds forward error correction overhead.
The full preset table
| Preset | SF | BW | CR | Data Rate | Link Budget |
|---|---|---|---|---|---|
| Short Turbo | 7 | 500 kHz | 4/5 | 21.9 kbps | 140 dB |
| Short Fast | 7 | 250 kHz | 4/5 | 10.9 kbps | 143 dB |
| Short Slow | 8 | 250 kHz | 4/5 | 6.25 kbps | 145.5 dB |
| Medium Fast | 9 | 250 kHz | 4/5 | 3.52 kbps | 148 dB |
| Medium Slow | 10 | 250 kHz | 4/5 | 1.95 kbps | 150.5 dB |
| Long Turbo | 11 | 500 kHz | 4/8 | 1.34 kbps | 150 dB |
| Long Fast | 11 | 250 kHz | 4/5 | 1.07 kbps | 153 dB |
| Long Moderate | 11 | 125 kHz | 4/8 | 0.34 kbps | 156 dB |
| Long Slow | 12 | 125 kHz | 4/8 | 0.18 kbps | 158.5 dB |
Link budget is roughly the maximum path loss the signal can survive end-to-end. Higher is more range. Data rate is the raw channel throughput - faster data rate means each transmission occupies less airtime, reducing collisions in busy networks.
Step 1: Ask your local community
Before choosing a preset, check what your local or regional network has standardized on. All nodes on a channel must use the same preset to communicate. If your area already has an established mesh, deploying on a different preset will isolate your repeater from it entirely.
Check local Discord servers, the Meshtastic network map, or regional mesh community pages for your area's standard.
Step 2: Match your network density
If no local standard exists, choose based on your expected network density:
Sparse / rural networks (under ~30 nodes in range)
Long Fast is a reasonable default. Range is maximized and the lower data rate is not a problem when few nodes are generating traffic.
Medium density networks (30 - 60 nodes)
Consider Medium Slow or Medium Fast. The 3 - 4x higher data rate significantly reduces collision probability while maintaining comparable range to Long Fast in most deployments.
Dense urban networks (60+ nodes)
Faster presets are strongly preferred. Long Fast in a 100+ node network can cause congestion as packet airtime accumulates. Medium Slow has become the standard for several large community meshes. The Meshtastic Bay Area community (150+ nodes) migrated to Medium Slow and reports significant improvement in reliability. Wellington Region Mesh (New Zealand, 150+ nodes) uses Short Fast.
Presets to avoid for repeater deployment
- Long Slow / Very Long Slow - maximum range but extremely long airtime per packet. Can saturate a network even at low message rates. Not recommended for regular use by the Meshtastic project.
- Short Turbo - highest throughput but the 500 kHz bandwidth is not permitted in all regulatory regions. Verify legality before use.
Setting the preset via CLI
meshtastic --set lora.modem_preset MEDIUM_SLOW
Valid preset names: SHORT_TURBO, SHORT_FAST, SHORT_SLOW, MEDIUM_FAST, MEDIUM_SLOW, LONG_TURBO, LONG_FAST, LONG_MODERATE, LONG_SLOW
Frequency slot and channel name
Meshtastic derives the transmit frequency from the channel name hash by default (frequency slot 0). This means two nodes with the same channel name and same preset will automatically land on the same frequency. You can override this with a specific slot number if needed, but the default hash-based behavior is correct for most deployments.