Best Practices
Avoiding common problems, legal considerations, and config backups.
Deployment Best Practices
Plan before you deploy
A poorly placed repeater can add network congestion without meaningfully extending coverage. Before deploying:
- Check the network map for existing nodes near your intended location
- Use coverage- and line-of-sight-planning tools (such as the Meshtastic Site Planner and HeyWhatsThat) to estimate coverage from candidate locations - see the network-map page for the full list of planning tools
- Walk or drive the coverage area with a personal node to measure real-world signal before committing to a permanent install
Avoid hop gobbling
Each relay uses one hop ("hop gobbling" means a relay that uses up a hop without adding meaningful range). If a repeater is only marginally better positioned than surrounding nodes, it will consume a hop without significantly extending message range. Place repeaters where they add substantial coverage - bridging a gap or reaching a new area - not just adding a small increment to existing coverage.
Spacing between repeaters
Overlapping coverage is good for resilience, but too many repeaters within range of each other creates redundant retransmissions that congest the network. A general guideline is to space repeaters so each covers a distinct area, with just enough overlap for redundancy.
Test after deployment
After installing, walk or drive the intended coverage area and verify that messages successfully reach destinations through the repeater. Test at the edges of expected coverage, not just close in. Note that a quiet walk-test proves coverage, not capacity: for networks intended for emergencies, also validate behavior under realistic concurrent traffic (multiple users sending at once), and re-test coverage periodically, since foliage, new construction, and changing neighbor RF can all shift it over time.
Document your deployment
Record the hardware, firmware version, configuration, location coordinates, and power system details for each repeater you deploy. This makes firmware updates, troubleshooting, and handoff to other maintainers much easier. Consider contributing your repeater location to the community map.
Maintain firmware
Meshtastic releases updates regularly with performance improvements, bug fixes, and new features. Keep your repeater firmware updated using the web flasher at flasher.meshtastic.org.
Legal Considerations
Meshtastic and MeshCore both operate in license-free ISM radio bands, but license-free does not mean unregulated. You must comply with applicable FCC rules for US deployments.
US regulatory framework (FCC Part 15)
In the United States, 915 MHz operation is governed by FCC Part 15 rules for ISM band devices. The key limits for intentional radiators in the 902 - 928 MHz band:
| Parameter | Limit |
|---|---|
| Conducted transmit power | 1 W (30 dBm) maximum, referenced to an antenna of 6 dBi or less |
| EIRP (with antenna gain) | 36 dBm (4 W) is a derived ceiling - it is the result of 30 dBm conducted + 6 dBi gain, not a flat standalone cap. For antenna gain above 6 dBi, conducted power must be reduced dB-for-dB (see below). |
| Duty cycle | US Part 15 imposes no duty-cycle limit on digital-modulation systems such as LoRa in 902 - 928 MHz. The dwell-time limits in 15.247(a)(1) apply only to frequency-hopping (FHSS) systems, not to LoRa's digital modulation. Other regions (e.g. the EU 868 MHz band) DO impose duty-cycle limits - check your region. |
Antenna gain and EIRP
EIRP combines transmit power and antenna gain: EIRP = conducted power + antenna gain (in dBi) - cable loss.
The actual FCC rule (47 CFR 15.247(b)(4)) is: conducted transmit power of 1 W (30 dBm) is the absolute maximum, and antenna gain up to 6 dBi is permitted at that full power. For every dB of antenna gain above 6 dBi, conducted power must be reduced by the same number of dB. The often-cited 36 dBm EIRP figure is simply the result of this rule at exactly 6 dBi of gain (30 dBm + 6 dBi = 36 dBm) - it is not an independent allowance to radiate 36 dBm EIRP with any antenna.
Worked examples:
- 3 dBi antenna: the 30 dBm conducted limit is absolute - you may not raise conducted power above 30 dBm to reach 36 dBm EIRP.
- 9 dBi antenna (3 dB over 6 dBi): reduce conducted power by 3 dB to 27 dBm (500 mW). Result: 36 dBm EIRP - at the legal limit, and compliant because conducted power was reduced per the 6 dBi rule (not merely because EIRP lands at 36 dBm).
- 9 dBi antenna + 30 dBm (1 W) conducted = 39 dBm EIRP and also violates the dB-for-dB conducted-reduction rule - over the limit.
Meshtastic ships with a region-based power cap; setting tx_power to 0 lets the firmware use the maximum the selected region allows. This is compliant only when paired with an antenna of 6 dBi or less. With any higher-gain antenna you must reduce conducted power per the 6 dBi rule above. The region setting is the master legal power-cap control - set it correctly first.
No amateur radio license required
Standard Meshtastic and MeshCore operation in the 915 MHz ISM band does not require an amateur radio license. The band is available to any compliant Part 15 device without licensing. This holds only while the device remains within its Part 15 certification: adding a non-certified antenna or amplifier, or exceeding the power/EIRP limits, can void the certification - at which point the operation is no longer authorized under Part 15. The operator is responsible for keeping the device compliant, and Part 15 devices must accept interference and must not cause harmful interference.
Always verify current regulations
Radio regulations can change. The information above is provided as a general guide. For definitive requirements, consult the FCC Part 15 rules directly.
Backing Up Your Configuration
Before making changes to a working repeater - or before a firmware update - back up the configuration. This saves your channel keys, LoRa settings, and device role, allowing full recovery if something goes wrong.
Export configuration via CLI
pip install meshtastic # if not already installed
meshtastic --export-config > my_repeater_config.yaml
The --export-config command produces a YAML file (not JSON). This is the canonical, restorable backup format - use it consistently. The exported YAML file contains:
- Node ID and long/short name
- LoRa settings (region, modem preset, rebroadcast mode, TX power)
- Channel names and pre-shared keys (PSKs)
- Device role
- Power and display settings
Restore configuration
meshtastic --configure my_repeater_config.yaml
Restore with --configure, which is the counterpart to --export-config. There is no --import-config flag in the Meshtastic CLI. Note also that meshtastic --info output is only a human-readable status dump and is not a restorable backup - always use --export-config for backups.
Store backups safely
The configuration file contains your channel PSKs. Store it in a secure location. Do not share it publicly or commit it to a public repository - anyone with the PSK for a private channel can read its messages.
After a firmware update
Firmware updates sometimes reset device settings. Always verify device role, rebroadcast mode, and LoRa region after updating. If settings are lost, restore from your backup YAML file with meshtastic --configure my_repeater_config.yaml.