Real-time web visualization for your Meshtastic mesh network. Map nodes, track positions, configure devices, analyze coverage, and monitor your entire mesh — all from a web browser.
All mesh nodes on a Leaflet.js map. Color-coded by age (green/yellow/red), shaped by role (router/client). Your tracker highlighted in blue.
Configure LoRa, channels, power, MQTT, telemetry, position, Bluetooth, favorites — all from the web UI. No meshtastic CLI needed.
Integrated with Meshtastic Coverage Server. Terrain-aware propagation prediction using SPLAT! ITM model with real SRTM elevation data.
Packet counts, radio vs MQTT breakdown, channel utilization, air time, anomaly detection, most active nodes — all tracked over 24h.
Trace packet routes through the mesh with SNR visualization. Line-of-sight analysis with terrain profile, Fresnel zone, and earth curvature.
View broadcast and direct messages across all channels. Send messages from the web UI. Unread badge across all pages.
MeshPulse supports a plugin system — add new panels, custom visualizations, MQTT integrations, and more without touching the core. Browse the community plugin store to find ready-to-install extensions.
Browse Plugin StoreFull features — USB serial + TCP/WiFi. Runs on Pi B+ with 512MB RAM. Ideal for a dedicated mesh dashboard.
# Clone and install git clone https://github.com/maxg10/meshpulse.git cd meshpulse ./install.sh # Start the service sudo systemctl start meshpulse # Open in browser http://your-pi.local/meshtastic/
# Update to latest version cd ~/meshpulse ./update.sh
TCP/WiFi connections only. No USB serial. Multi-arch image — runs on amd64, arm64, and arm/v7.
# Clone and configure git clone https://github.com/maxg10/meshpulse.git cd meshpulse cp .env.example .env # Edit .env — set TRACKER_HOST=your.device.ip # Start docker compose up -d # Open in browser http://localhost/meshtastic/
# Update Docker image
docker compose pull
docker compose up -d
MeshPulse connects to the MeshPulse Coverage server to generate terrain-aware RF propagation maps. Click any node on the map, and see predicted coverage overlaid directly on the map.
Powered by SPLAT! ITM (Longley-Rice Irregular Terrain Model) with real SRTM elevation data at 30m resolution. Supports EU 868 MHz and US 915 MHz LoRa bands.
Get Free API KeyMeshPulse is free and open source. If it's useful to you, consider sponsoring the development. Every contribution helps keep the project alive and growing.
Sponsor on GitHub