LoRa Configuration
The LoRa config options are: Region, Modem Preset, Max Hops, Transmit Power, Bandwidth, Spread Factor, Coding Rate, Frequency Offset, Transmit Enabled, Channel Number and Ignore Incoming Array. LoRa config uses an admin message sending a Config.LoRa
protobuf.
In order to communicate fully, devices within a mesh must have identical settings for Region and Modem Preset, or identical custom Modem settings.
LoRa Config Valuesโ
You must set your device's lora.region
setting. This will ensure that you are operating within the legal limits for your area.
Regionโ
Sets the region for your node. Default is unset
. As long as this is not set, the node screen will display a message and not transmit any packets.
Region Code | Description |
---|---|
UNSET | Unset |
US | United States |
EU_433 | European Union 433MHz |
EU_868 | European Union 868MHz |
CN | China |
JP | Japan |
ANZ | Australia & New Zealand |
KR | Korea |
TW | Taiwan |
RU | Russia |
IN | India |
NZ_865 | New Zealand 865MHz |
UA_433 | Ukraine 433MHz |
UA_868 | Ukraine 868MHz |
TH | Thailand |
LORA_24 | 2.4 GHz band worldwide |
EU_433 and EU_868 have to adhere to an hourly duty cycle limitation of 10%. Your device will stop transmitting if you reach it, until it is allowed again.
Modem Presetโ
Default is unset
which equates to LONG_FAST
. Presets are pre-defined modem settings (Bandwidth, Spread Factor, and Coding Rate) which influence both message speed and range. The default will provide a strong mixture of speed and range, for most users.
The presets are designed to provide further options for optimizing either speed (and reduced network congestion) or range, which can be useful for two real world scenarios:
- A high number of devices exist in the mesh, or messages are sent very frequently. Faster speeds (and therefore lower radio time per device) can help with mesh network congestion.
- Maximum range is desired, for long range scenarios where a several second delay in message receipt is acceptable (for instance, attempting to send messages from a town to a distant mountain top).
The Presets available as as follows, and follow a linear pattern of Fastest <--> Slowest, and Shortest <--> Longest range:
SHORT_FAST
(Fastest, highest bandwidth, lowest airtime, shortest range)SHORT_SLOW
MEDIUM_FAST
MEDIUM_SLOW
LONG_FAST
(Default)LONG_SLOW
VERY_LONG_SLOW
(Slowest, lowest bandwidth, highest airtime, longest range)
Max Hopsโ
Maximum number of hops. This can't be greater than 7. Default is 3 which should be fine for most applications. Really, 3 is fine.
Transmit Powerโ
If zero then, use default max legal continuous power (i.e. something that won't burn out the radio hardware)
In most cases you should use zero here. Units are in dBm.
Bandwidthโ
Bandwidth in MHz
Certain bandwidth numbers are 'special' and will be converted by the device firmware to the appropriate floating point value: 31 -> 31.25MHz
Spread Factorโ
A number from 7 to 12. Indicates the number of chirps per symbol as 1<<spread_factor.
Coding Rateโ
The denominator of the coding rate. ie for 4/5, the value is 5. 4/8 the value is 8.
Frequency Offsetโ
This parameter is for advanced users with advanced test equipment, we do not recommend most users use it.
A frequency offset that is added to to the calculated band center frequency. Used to correct for crystal calibration errors.
Transmit Enabledโ
Allows you to enable and disable transmit (TX) from the LoRa radio. Useful for hot-swapping antennas and other tests.
Defaults to true
Channel Numberโ
This is controlling the actual hardware frequency the radio is transmitting on. A channel number between 1 and NUM_CHANNELS (whatever the max is in the current region). If this is ZERO/UNSET then the rule is "use the old channel name hash based algorithm to derive the channel number".
Ignore Incoming Arrayโ
For testing it is useful sometimes to force a node to never listen to particular other nodes (simulating radio out of range). All nodenums listed in the ignore_incoming array will have packets they send dropped on receive (by router.cpp)
Override Duty Cycle Limitโ
Setting this option to 'true' means the device will ignore the hourly duty cycle limit in Europe. This means that you might violate regulations if the device transmits too much. By default, this option is set to 'false,' which means the device will stop sending data when it reaches the hourly limit and will start again when it is allowed to do so.
LoRa Config Client Availabilityโ
- Android
- Apple
- CLI
- Flasher
- Web
LoRa Config options such as Region, Modem Preset, and Hop Limit can be configured on Android.
- Open the Meshtastic App
- Navigate to: Vertical Ellipsis (3 dots top right) > Device Settings > LoRa Config
Configuration of Region, Modem Preset and Hop Limit is available on iOS, iPadOS and macOS at Settings > Radio Configuration > LoRa.
LoRa config commands are available in the python CLI. Example commands are below:
Setting | Acceptable Values | Default |
---|---|---|
lora.modem_preset | LONG_FAST , LONG_SLOW , VERY_LONG_SLOW , MEDIUM_SLOW , MEDIUM_FAST , SHORT_SLOW , SHORT_FAST | LONG_FAST |
lora.region | UNSET , US , EU_433 , EU_868 , CN , JP , ANZ , KR , TW , RU ,IN , NZ_865 , TH , LORA_24 , UA_433 , UA_868 | UNSET |
lora.hop_limit | 1 ,2 ,3 ,4 ,5 ,6 ,7 | 3 |
lora.override_duty_cycle | false , true | false |
Because the device will reboot after each command is sent via CLI, it is recommended when setting multiple values in a config section that commands be chained together as one.
meshtastic --set lora.region US --set lora.modem_preset LONG_FAST
meshtastic --set lora.modem_preset LONG_FAST
meshtastic --set lora.modem_preset MEDIUM_FAST
meshtastic --set lora.region US
meshtastic --set lora.region EU_433
meshtastic --set lora.hop_limit 2
meshtastic --set lora.override_duty_cycle true
meshtastic --set lora.override_duty_cycle false
Only lora.region
can be set via the GUI flasher. Refer to other clients for any other config.
All LoRa config options are available in the Web UI.