I’ve been working on a series of long-form analyses around LoRa, Meshtastic, LPWAN performance, and mesh network failure modes.
One recurring problem:
most discussions around LoRa range, throughput, and “coverage” are either marketing-driven or based on hand-wavy assumptions.
So I built a small, auditable Python toolkit to make those first-order calculations explicit.
**
What This Toolkit Does
**
The goal is not simulation-grade accuracy.
It’s engineering sanity checks.
Right now the toolkit provides:
1) LoRa Time-on-Air calculation
Using the standard Semtech reference formula:
lora-toolkit airtime --sf 9 --bw 125 --payload 24
Outputs:
Time-on-Air: 205.82 ms
2) Link budget estimation (Friis model)
lora-toolkit link-budget --tx-power 14 --distance-km 5
Outputs:
Link Margin: 10.84 dB
This is deliberately conservative:
no optimistic propagation curves, no “magic range” heuristics.
3) Regional frequency plan reference
lora-toolkit plan --region EU868
Outputs:
max_eirp_dbm: 14
duty_cycle: 0.01
uplink_channels_mhz: [868.1, 868.3, 868.5]
Why I Built This
Most LPWAN discussions collapse into one of two failure modes:
- Unrealistic range expectations
- Ignoring airtime and congestion constraints
- Treating mesh networks as “scale-free”
- Conflating LoRa PHY capability with network capacity
This toolkit exists to anchor those conversations in:
- physics
- regulatory constraints
- airtime math
- basic RF link budgets
Not marketing slides.
Design Philosophy
This project is intentionally minimal:
- No external dependencies
- No hidden heuristics
- No optimistic propagation models
- Fully auditable formulas
- CLI-first interface
- Conservative defaults It’s meant to be a reference tool, not a product.
Install & Use
git clone https://github.com/YOUR_USERNAME/lora-toolkit
cd lora-toolkit
python -m venv .venv
source .venv/Scripts/activate # Windows / MobaXterm
pip install -e .
Then:
lora-toolkit airtime --sf 9 --bw 125 --payload 24
lora-toolkit link-budget --tx-power 14 --distance-km 5
lora-toolkit plan --region EU868
Roadmap
Planned next layers:
- Meshtastic route capacity modeling
- Queueing congestion simulator
- Urban vs rural propagation profiles
- CSV batch calculators
- Visualization outputs
Repo
GitHub:
https://github.com/vladavramut/lora-toolkit
Closing
- If you’re working with:
- LoRaWAN deployments
- Meshtastic
- LPWAN sensors
- decentralized comms
- off-grid networking
and you care about realistic performance modeling,
feel free to fork, critique, or extend this.
I’m deliberately keeping it conservative and auditable.
Top comments (0)