Chris Collins

Tools · radio

LoRa airtime and duty cycle

Time on air for any LoRa packet, LoRaWAN data rate or Meshtastic preset, and what it means: messages per hour under the EU duty-cycle sub-bands, the US 400 ms dwell time and TTN's fair-use policy, sensitivity and range per spreading factor, an airtime chart and a battery estimate.

Added

Works with

How to use it

How long a LoRa packet stays on the air decides almost everything else: how often you may send, how much battery each message costs, and how much of the channel you take from everyone else. This works it out for a plain LoRa packet, a LoRaWAN frame at any data rate, or a Meshtastic packet, and then turns it into the numbers you plan with.

How to use it

  • Packet — pick a mode:

    • LoRa: spreading factor, bandwidth, coding rate, payload, preamble, header, CRC and low data-rate optimisation (auto turns it on when a symbol lasts more than 16 ms, as Semtech recommends; LoRaWAN does the same at SF11 and SF12 on 125 kHz).

    • LoRaWAN: region (EU868, US915, AU915, AS923), data rate, application payload and FOpts. The tool adds the 13 bytes of LoRaWAN overhead (MHDR, DevAddr, FCtrl, FCnt, FPort, MIC) and checks the payload against the data rate’s maximum from the LoRaWAN Regional Parameters (RP002-1.0.4). Downlinks have no payload CRC, which the airtime reflects.

    • Meshtastic: a modem preset and the encrypted payload size; the radio adds a 16-byte header and uses a 16-symbol preamble. The presets come from the Meshtastic toolkit.

  • Time on air — the total, symbol time, preamble, payload symbols, bit rate and the receiver sensitivity. In Meshtastic mode, Open in the Meshtastic planner takes the preset and payload to the toolkit’s LoRa planner for range and frequency slot.

  • How often you may send — choose the band rule:

    • an EU sub-band from ETSI EN 300 220 / ERC Recommendation 70-03 (0.1 %, 1 % or 10 %): the messages per hour, the wait after each packet and the airtime budget per hour. LoRaWAN’s default channels (868.1, 868.3, 868.5 MHz) are in the 1 % band; RX2 and Meshtastic’s EU_868 slot are in the 10 % band at 869.4–869.65 MHz.

    • the US 902–928 MHz rule for frequency-hopping systems (FCC 15.247): no duty cycle, but no more than 400 ms on one channel in 20 s, which caps a packet at 400 ms on 125 kHz channels. The tool shows the largest payload that fits — 11 application bytes at US915 DR0.

    • none, or a custom duty cycle.

      Every rule also shows The Things Network’s fair-use policy: 30 s of uplink airtime per device per day.

  • Airtime against payload — curves for SF7 to SF12 at the current bandwidth, with the 400 ms dwell line; hover for the exact figures at any payload.

  • The table compares every spreading factor, data rate or preset at your payload.

  • Link budget — transmit power, antenna gains, cable losses and fade margin give the largest path loss and the free-space range for each spreading factor. Free space is the best case; for real ground paths use the terrain profile in the Meshtastic toolkit or the propagation tool.

  • Battery — capacity, transmit, receive, wake and sleep currents and messages per hour give the average current and how long the battery lasts. For LoRaWAN class A it can work out the two receive windows (about six symbols each when nothing arrives). Tick Always receiving for a Meshtastic node, which never sleeps its radio.

The raw LoRa formula is the RF tool’s (RF and wireless), which is tested against Semtech’s calculator. For antennas see antennas; to decode real frames use the LoRaWAN frame decoder or the Meshtastic packet decoder.

Checks

  • SF7/125 kHz/4/5, 20 bytes, 8-symbol preamble: 56.576 ms; SF12/125 kHz, 51 bytes with LDRO: 2465.792 ms — both Semtech’s calculator’s figures.

  • A 13-byte LoRaWAN frame (no application payload) takes 46.3 ms at SF7 and 1155.1 ms at SF12.

  • At SF10/125 kHz the largest PHY payload under 400 ms is 24 bytes: 11 application bytes plus 13 of overhead, exactly US915 DR0’s limit in the Regional Parameters.

  • 1 % duty cycle with a 2.47 s packet: 14 per hour, 244 s wait after each.

Limits

  • Regulations change and differ by country: check your own. The EU table is for non-specific short-range devices; some countries add rules (and LBT/AFA can replace the duty cycle, which this doesn’t model).

  • Sensitivity is the usual estimate (−174 dBm/Hz + 10·log₁₀ BW + 6 dB noise figure + the SF’s SNR limit); real radios differ by a few dB.

  • The battery estimate ignores temperature and the battery’s voltage curve.

Privacy

Nothing leaves your browser. Settings are kept in this browser and go into a share link only if you make one.

Runs entirely in your browser; nothing you type leaves this page.