A desktop application for planning LoRa mesh network deployments with terrain-aware RF propagation, hardware selection, and bill of materials generation.
Mesh Community Planner helps you design LoRa mesh networks before buying hardware. Place nodes on a map, simulate RF coverage using real terrain data, pick from a catalog of real devices, and generate a shopping list. Everything runs locally on your computer — no accounts, no cloud, no telemetry.
Download the latest release from the GitHub Releases page.
| Platform | Format | File |
|---|---|---|
| Windows | Portable (.zip) | MeshCommunityPlanner-1.2.0-win.zip |
| macOS | Disk image (.dmg) | MeshCommunityPlanner-1.2.0.dmg |
| Linux | AppImage | MeshCommunityPlanner-1.2.0-x86_64.AppImage |
All downloads are self-contained — no Python or Node.js installation required.
- Interactive Map — Place nodes on OpenStreetMap with drag-and-drop
- Node Configuration Wizard — Guided setup: Region, Firmware, Device, Radio, Antenna, Power
- Hardware Catalog — 11+ real LoRa devices across Meshtastic, MeshCore, and Reticulum/RNode
- Terrain-Aware Propagation — Longley-Rice/ITWOM with SRTM 30m elevation data
- Elevation Heatmap — On-demand terrain visualization with hypsometric tinting, adjustable opacity, and min/max range sliders
- Line-of-Sight Analysis — Terrain profiles with Fresnel zone clearance visualization
- Network Topology — Graph view with critical node detection and resilience metrics
- Power Budgeting — Battery and solar deployment recommendations per node
- Bill of Materials — Component list with pricing, CSV/PDF export, and deployment cards
- Regulatory Presets — US FCC 915, EU 868, EU 433, ANZ
- Import/Export — .meshplan JSON format, CSV node import, KML export
- Offline Operation — Works without internet after initial map/terrain caching
- Privacy-First — All data stays on your machine, no accounts or analytics
- Accessibility — WCAG 2.2 AA compliant with full keyboard navigation
- Sample Plans — 4 built-in example plans to explore on first launch
- Meshtastic — Community mesh networking firmware
- MeshCore — Custom mesh protocol
- Reticulum / RNode — Cryptographic mesh networking
- Python 3.9+ with pip
- Node.js 18+ with npm
- PyInstaller 6.x (
pip install pyinstaller)
git clone https://github.com/PapaSierra555/MeshCommunityPlanner.git
cd MeshCommunityPlanner
pip install -r requirements.txt
pip install pyinstaller
cd frontend && npm install && npx vite build && cd ..
python -m PyInstaller installers/mesh_planner.spec --noconfirm# Windows
dist\MeshCommunityPlanner\MeshCommunityPlanner.exe
# macOS / Linux
./dist/MeshCommunityPlanner/MeshCommunityPlannerThe app starts a local server and opens your browser to http://127.0.0.1:8321.
See docs/INSTALLATION_GUIDE.md for platform-specific details, DMG/AppImage packaging, and troubleshooting.
| Component | Technology |
|---|---|
| Frontend | React 18 + TypeScript + Vite |
| State Management | Zustand |
| Mapping | Leaflet + OpenStreetMap |
| Visualization | D3.js |
| Backend | Python 3.9+ + FastAPI |
| Database | SQLite (local) |
| Propagation | Longley-Rice / ITWOM |
| Terrain Data | SRTM 1-arc-second (30m resolution) |
| Packaging | PyInstaller |
All documentation lives in the docs/ folder. Start with the User Guide for a comprehensive walkthrough of every feature.
- User Guide — Full feature walkthrough
- Installation Guide — Build from source, platform-specific instructions
- Quick Start Tutorials — Step-by-step how-to guides
- FAQ — Common questions answered
- Troubleshooting — Common issues and fixes
- Known Issues — Current limitations
- Release Notes v1.2.0 — What's new in v1.2.0
- Release Notes v1.2.0 — Elevation Range Sliders
- Release Notes v1.1 — Elevation Heatmap and test suite
- Release Notes v1.0 — Initial release
- Changelog — Version history
Contributions are welcome! See CONTRIBUTING.md for guidelines on reporting bugs, requesting features, and submitting pull requests.
Please read our Code of Conduct before participating.
Licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).
- Share — Copy and redistribute in any medium or format
- Adapt — Remix, transform, and build upon the material
- Attribution — Give appropriate credit
- NonCommercial — Not for commercial use
- ShareAlike — Distribute under the same license
See LICENSE for full terms.
- Signal-Server by Alex Farrant — Open-source RF propagation engine
- OpenStreetMap contributors — Map data
- USGS — SRTM terrain elevation data
- Meshtastic, MeshCore, Reticulum projects — Inspiring this planning tool