Aziz Bench

LoRa and Meshtastic airtime and range calculator

How long a LoRa packet stays on air, how many you may send per hour in the 868 MHz band, and how far the link can reach, for Meshtastic presets, LoRaWAN or your own settings.

Time on air
723ms
Meshtastic LongFast · SF11 · 250 kHz · CR 4/5 · 62 bytes
Packets per hour
497within the 10 % duty cycle
Link budget
156 dBsensitivity −131 dBm
Flat-ground range
18.9 kmlimited by the radio horizon
Packet and hourly limit
A packet of 62 bytes at SF11 · 250 kHz · CR 4/5 lasts 723 msOne packet · 723 msPreamble · 20.25 symbols · 166 msHeader and payload · 68 symbols · 557 msOne hour · 10 % = 6 min on air497 packets like this fit
Radio
Protocol
bytes

Bytes of text: one for each plain letter, two for an accented letter, four for an emoji.

How many times the message may be relayed: 3 by default, 7 at most.

Link
dBm

At the radio output. The SX1262 goes up to 22 dBm, the SX1276 up to 20 dBm; modules with an amplifier go higher.

Receiver chip
dBi
dBi
dB

At each end.

dB

Reserve kept for fading, foliage and bad days; the range estimate leaves it unused.

Path
m
m

Above the ground, or above the obstacles around it.

km

Details

Packet62 bytes on air: a 16-byte header, 6 bytes of protobuf fields and 40 bytes of text.
Time on air723 ms: preamble 166 ms (20.25 symbols) plus header and payload 557 ms (68 symbols of 8.19 ms). Nominal bit rate 1.07 kbit/s.
Duty cycle10 % of every hour, that is 6 min on air: up to 497 packets an hour, 11,928 a day. Spread evenly, one every 7.23 s.
Mesh airtimeWith hop limit 3 the message can go out 4 times along a chain of nodes: 2.89 s of channel time, more when several nodes rebroadcast.
Radiated power21.4 dBm ERP (23.5 dBm EIRP). Within the 27 dBm ERP of this band.
Link budget156 dB: EIRP 23.5 dBm plus the 2 dBi receive antenna, minus 0.5 dB of losses, down to the SX1262 sensitivity of −131 dBm.
At this distancePath loss over 5 km: 105.2 dB in free space, 121.9 dB over flat ground with these antenna heights. That leaves 34.1 dB of margin, more than the 10 dB you want to keep.
Flat-ground range18.9 km (limited by the radio horizon) keeping 10 dB of fade margin over open, flat ground. Beyond about 232 m the wave reflected off the ground cancels more and more of the direct one, and the loss grows by 12 dB for each doubling of distance instead of 6 (two-ray model). Hills, buildings and trees cut it further.
Free-space range547 km keeping 10 dB of fade margin, with a clear line of sight and nothing in the way: an upper limit, not a promise.
Radio horizon18.9 km for antennas at 2 m and 10 m above flat ground (4/3 earth radius). Beyond it the earth itself blocks the path.
Fresnel zoneAt mid-path, 2.5 km from each end, the first Fresnel zone is 21 m in radius. Keeping 60 % of it clear (12 m) plus 0.4 m of earth bulge takes about 13 m above the obstacles; your antennas average 6 m, so anything near the line adds loss.
AntennaA quarter-wave whip for 869.525 MHz is 86.2 mm long in theory; trim it on the real antenna.
Energy per packetThe SX1262 draws about 118 mA at 22 dBm for 723 ms: 23.7 µAh (281.5 mJ at 3.3 V), radio only. Estimate the battery life

Good to know

Every node on a channel must use the same preset. LongFast is the default; the faster presets take a fraction of the airtime and suit busy meshes with nodes close together, at the cost of range.

Each hop is a full retransmission. The default hop limit of 3 is enough for most meshes: raising it fills the channel for everyone around you.

In the EU bands Meshtastic counts its own transmissions over the last hour, relayed packets included: it stops sending at 10 % and holds back telemetry and node info from 5 %.

A Meshtastic node listens all the time: the SX1262 alone draws about 4.6 mA in receive, roughly 110 mAh a day, usually far more than its transmissions.

Height beats power: over flat ground, doubling an antenna’s height is worth 6 dB, as much as four times the power, while 3 dB more power stretches the range by only about 19 %. Two antennas raised from 2 to 10 m also push the radio horizon from 11.7 km to 26.1 km.

These are the EU and US limits as the calculator applies them. National rules can differ and you are responsible for compliance: check your country’s band plan before raising power or duty cycle.

Plain text, for your notes or a forum post.

How the airtime is calculated

A LoRa packet is a preamble followed by an optional header and the payload, all sent as chirp symbols. One symbol lasts 2 to the power of SF divided by the bandwidth: 1.02 ms at SF7 and 125 kHz, 32.8 ms at SF12. The calculator uses Semtech’s formula from the SX1276 datasheet: the radio adds 4.25 symbols to the programmed preamble, and the payload goes out in blocks of symbols whose size depends on the spreading factor and the coding rate, so one more byte can cost nothing or a whole block.

Low data rate optimisation switches on when a symbol lasts 16 ms or more, which means SF11 and SF12 at 125 kHz and SF12 at 250 kHz, as the Semtech datasheets advise. Each symbol then carries two bits fewer, so the packet gets longer.

Meshtastic packets use a 16-symbol preamble, an explicit header and a CRC. A text message carries a 16-byte header (destination, sender, packet ID, flags, channel hash and relay bytes) and about 6 bytes of protobuf fields around the text; channel encryption adds nothing. LoRaWAN uplinks, as Semtech’s LoRaMac-node sends them, use an 8-symbol preamble, coding rate 4/5 and 13 bytes of header and MIC around your payload.

Meshtastic presets compared

Time on air of a 40-byte text message with each preset, and the link budget at 22 dBm with 0 dBi antennas and an SX1262, the conditions of Meshtastic’s radio settings page. For the 500 kHz presets the SX1262 datasheet’s −117 dBm at SF7 gives 1 dB less than that page.

PresetSFBandwidthCoding rateText of 40 bytesLink budget
ShortTurbo7500 kHz4/531.6 ms139 dB
ShortFast7250 kHz4/563.1 ms143 dB
ShortSlow8250 kHz4/5111 ms145.5 dB
MediumFast9250 kHz4/5201 ms148 dB
MediumSlow10250 kHz4/5382 ms150.5 dB
LongTurbo11500 kHz4/8509 ms149 dB
LongFast (default)11250 kHz4/5723 ms153 dB
LongModerate11125 kHz4/82.3 s156 dB

Every preset trades airtime for range. LongFast is the default; the 500 kHz Turbo presets don’t fit the 250 kHz of the EU_868 band, and the firmware falls back to LongFast there. Nodes only hear each other when they share the preset.

Power and duty cycle in Europe

In the EU, the short-range-device bands at 863–870 MHz set both the power, as ERP, and the share of each hour a device may transmit. The duty cycle is the transmit time over an observation period of one hour. Meshtastic’s EU_868 region sits in 869.4–869.65 MHz, the only band with 500 mW and 10 %; LoRaWAN’s default channels are in 868.0–868.6 MHz, at 25 mW and 1 %. These bands also accept listen-before-talk with adaptive frequency agility (LBT+AFA) as the access method, but EN 300 220 caps it at 100 s of transmission per hour for each 200 kHz of spectrum, about 2.8 %, less than the 10 % of 869.4–869.65 MHz.

BandMaximum powerDuty cycleUsed by
868.0–868.6 MHz25 mW ERP (14 dBm)1 %LoRaWAN, 868.1, 868.3 and 868.5 MHz
865–868 MHz25 mW ERP1 %LoRaWAN, 867.1–867.9 MHz
868.7–869.2 MHz25 mW ERP0.1 %—
869.4–869.65 MHz500 mW ERP (27 dBm)10 %Meshtastic EU_868, LoRaWAN RX2 downlink
869.7–870.0 MHz25 mW ERP1 %—
433.05–434.79 MHz10 mW ERP (10 dBm)10 %Meshtastic EU_433

ERP is measured against a half-wave dipole, which has 2.15 dBi of gain, so ERP is EIRP minus 2.15 dB. A 22 dBm radio with a 2 dBi antenna and 0.5 dB of cable loss radiates 21.4 dBm ERP: within the 27 dBm of 869.4–869.65 MHz, well above the 14 dBm of the LoRaWAN channels. In the US, 902–928 MHz has no hourly duty cycle: FCC 15.247 allows up to 1 W at the radio, less the antenna gain above 6 dBi, to frequency-hopping systems (at least 50 channels below 250 kHz, 0.4 s at most on each in 20 s; from 250 kHz, 25 channels and 0.4 s in 10 s, with 0.25 W below 50 channels) and to digital modulation at least 500 kHz wide.

Range: link budget, horizon and Fresnel zone

The link budget is the path loss the link can absorb: transmit power plus both antenna gains, minus the cable losses and the receiver sensitivity. Sensitivity comes from the Semtech datasheets: for the SX1262 at SF7 and SF12, with the 2.5 dB steps of the demodulator in between, and for the SX1276 at every spreading factor. Each step up in spreading factor gains about 2.5 dB.

Free-space path loss grows with 20 times the logarithm of distance and of frequency, so the free-space range follows directly from the budget, and it is very optimistic: real links lose far more to terrain, buildings and vegetation. The radio horizon, with the usual 4/3 earth radius for refraction, is the hard limit for antennas at a given height.

Close to the ground there is a second limit. Beyond a critical distance of about 4 h1 h2 / λ, about 230 m for antennas at 2 and 10 m at 868 MHz, the wave reflected off the ground cancels more and more of the direct one, and over flat terrain the loss grows by 12 dB for each doubling of distance instead of 6 (the two-ray model); measurements with LoRa at 869.5 MHz over the sea found the same slope. The readout shows this flat-ground range, capped by the horizon: hills, buildings and trees reduce it further.

Radio waves need more than a thin line of sight: the first Fresnel zone, an ellipsoid around the line, should be at least 60 % clear. At 868 MHz over 5 km its radius at mid-path is about 21 m, which is why antennas a couple of metres above the ground reach much less than the link budget suggests.

Energy per packet

The transmit current comes from the radio datasheet, at the listed power equal to or just above the one you set: from 45 mA at 14 dBm to 118 mA at 22 dBm for the SX1262. It covers the radio only, so add the microcontroller, which stays awake while the packet goes out. A Meshtastic node also keeps its receiver on, and that usually costs more than its transmissions.

Frequently asked questions

How long does a LoRa packet take to send?

It depends on spreading factor, bandwidth and length. A 20-byte packet with LoRaWAN settings (7 bytes of payload plus the 13 of the LoRaWAN frame) takes about 57 ms at SF7 and 125 kHz and about 1.3 s at SF12; each step up in spreading factor roughly doubles the time.

How many messages can a Meshtastic node send in Europe?

In the EU_868 band the limit is 10 % of each hour, 360 s. A 40-byte text on LongFast takes about 0.72 s, so the duty cycle allows around 500 an hour. Meshtastic tracks its own airtime, relayed packets included, and stops sending when it reaches the limit.

Which Meshtastic preset should I use?

The one your local mesh uses: nodes on different presets can’t hear each other. LongFast is the default. MediumFast takes about a quarter of its airtime and ShortFast about a tenth, at the cost of range, which helps busy meshes; LongModerate reaches a little farther but takes about three times as long.

How far does LoRa reach?

With a clear line of sight, tens of kilometres and more: the LongFast link budget allows hundreds of kilometres in free space. On the ground the limits are the horizon, the ground itself and the obstacles: two antennas 2 m up see each other only within about 12 km, over flat ground the reflected wave makes the loss grow twice as fast with distance, and anything in the Fresnel zone, such as buildings or trees, cuts the range further. Height matters more than power.

What is the maximum transmit power for LoRa in Europe?

25 mW ERP (14 dBm) in most of 863–870 MHz, including the LoRaWAN channels, and 500 mW ERP (27 dBm) in 869.4–869.65 MHz with a 10 % duty cycle. ERP includes the antenna gain: with a 5 dBi antenna, 27 dBm ERP takes about 24 dBm at the radio. National rules can add restrictions.

Why does The Things Network limit airtime?

Its fair use policy gives each node 30 s of uplink airtime a day on the public network, so that gateways are shared fairly. That is about 530 packets with 7 bytes of payload (20 bytes on air) at SF7, but only about 22 at SF12.