-
-
Notifications
You must be signed in to change notification settings - Fork 11
English
MeshStation is a Meshtastic SDR Analyzer & Desktop GUI. It passively listens to the RF spectrum, decodes live Meshtastic traffic directly from the air (no Meshtastic node required), and visualizes the mesh in real time.
Recommended: use the portable binaries from the GitHub Releases page. No compilation needed.
- Download the correct archive for your OS / CPU
- Extract the archive into a folder (keep all files together)
- Run the MeshStation executable
✅ Fully portable: no installer, no system-wide dependencies
✅ The SDR runtime engine (GNU Radio-based) is already included and optimized in releases
These links always point to the latest stable release.
-
ARM64 (aarch64)
Download for Linux aarch64 -
x86_64
Download for Linux x86_64
-
Apple Silicon (arm64)
Download for macOS ARM -
Intel (x86_64)
Download for macOS x86_64
-
x86_64
Download for Windows x86_64
- Extract the archive completely before launching (don’t run from inside the compressed file).
- Keep the executable and the bundled engine/runtime in the same folder structure.
- If you move the folder, the app will still work (portable).
- Minimum version: Windows 10 version 1809 (build 17763, released October 2018) or later
- Microsoft Edge WebView2 runtime is required to display the application interface. It is pre-installed on most up-to-date Windows 10/11 systems, if missing, download it from Microsoft's website.
- No additional software required.
-
Any modern 64-bit distribution (x86_64 or ARM64)
-
No specific version requirement, if your system can run a modern Python 3.10+ application, it will work.
-
The following system libraries are required. MeshStation will detect if they are missing and prompt you to install them automatically, but you can also install them manually beforehand:
Debian / Ubuntu / Mint:
sudo apt-get install libxcb-cursor0 libminizip1
Fedora / RHEL:
sudo dnf install xcb-util-cursor minizip
Arch Linux:
sudo pacman -S xcb-util-cursor minizip
-
AppImage Support (FUSE):
Since the Linux version is provided as an AppImage, your system must have FUSE 2 installed to run it. If the application fails to start, install it using:
Debian / Ubuntu / Mint:
sudo apt-get install libfuse2
Fedora:
sudo dnf install fuse-libs
Arch Linux:
sudo pacman -S fuse2
-
Running without FUSE (Extraction): If you cannot or do not want to install FUSE on your system, you can still run MeshStation by extracting the AppImage:
- Open a terminal in the folder containing the AppImage.
- Run:
./MeshStation_vX-X-X.AppImage --appimage-extract - Enter the new folder:
cd squashfs-root - Launch the app:
./AppRun
-
RTL-SDR drivers may be required depending on your use case (see the RTL-SDR setup section below).
-
Minimum version: macOS 10.15 Catalina (for x86_64) and macOS 11.0 Big Sur (For ARM64)
-
Google Chrome is required, MeshStation uses Chrome as its display engine on macOS. Download it from google.com/chrome if not already installed.
-
Since MeshStation is not signed with an Apple Developer certificate, macOS Gatekeeper will block it on first launch. To allow it:
Option A - via Terminal (recommended):
xattr -cr /path/to/MeshStation_vX.X.X.app
Replace the path and ifle with the actual location of the app, then launch normally.
Even better if done on the entire folder so as not to have to allow dozens of files when starting the engine.
xattr -cr /path/to/MeshStation_vX.X.X/
Option B - via System Settings:
- Try to open the app, macOS will show a warning and block it.
- Open System Settings → Privacy & Security.
- Scroll down to the Security section, you will see a message about MeshStation being blocked.
- Click "Open Anyway".
- Confirm in the dialog that appears.
On most Linux distributions (Ubuntu, Debian, Linux Mint, Raspberry Pi OS), open a terminal and run:
Debian / Ubuntu / Mint:
sudo apt-get install rtl-sdrFedora:
sudo dnf install rtl-sdrArch Linux:
sudo pacman -S rtl-sdrThis installs the RTL-SDR utilities required to interact with the device.
Plug in the RTL-SDR dongle (unplug it and replug it if it was already attached) and verify that the system detects it correctly:
rtl_testPossible results:
Success
Found 1 device(s)
Messages showing the detected tuner and chip appear. The device is ready to use.
Error: "Kernel driver is active"
The system loaded DVB-TV drivers instead of SDR drivers. Continue with
step 3.
Error: "Permission denied"
Your user does not have permission to access the USB device. Continue
with step 4.
Some systems automatically load drivers for digital TV receivers which prevents SDR access.
Create the blacklist file:
sudo nano /etc/modprobe.d/blacklist-rtl.confAdd:
blacklist dvb_usb_rtl28xxu
Save (Ctrl+O) and exit (Ctrl+X), then reboot the system.
If you encounter permission errors, add udev rules so normal users can access the device:
sudo wget -O /etc/udev/rules.d/20-rtlsdr.rules https://raw.githubusercontent.com/rtlsdrblog/rtl-sdr-blog/master/rtl-sdr.rules
sudo udevadm control --reload-rules && sudo udevadm triggerReconnect the device or reboot to apply the changes.
Download the latest RTL-SDR Windows release from:
https://ftp.osmocom.org/binaries/windows/rtl-sdr/rtl-sdr-64bit-20260308.zip
Extract the archive to a folder such as:
C:\rtl-sdr
Windows normally installs a DVB-T TV driver, which does not work for
SDR.
You must replace it with the WinUSB driver.
- Download Zadig: https://zadig.akeo.ie/
- Plug in the RTL-SDR dongle
- Run
zadig.exeas Administrator - Click Options → List All Devices
- Select your RTL-SDR device (usually Bulk-In, Interface 0)
- Choose WinUSB
- Click Install Driver
Wait until the installation finishes.
Open Command Prompt in the folder where you extracted the tools.
Example:
cd C:\rtl-sdr
Run the test utility:
rtl_test.exe
Successful output will show something like:
Found 1 device(s)
You should also see information about the tuner and supported sample rates.
Device not detected
- Make sure the dongle is connected
- Reinstall the driver using Zadig
- Try selecting Bulk-In Interface 0
Access errors or crashes
- Close any SDR software that might already be using the device
- Unplug and reconnect the dongle
If the test runs continuously without errors, the RTL-SDR device is ready to use.
Here's how to use MeshStation directly from the source (not necessary for the user who just wants to use the app, there are releases)
git clone https://github.com/IronGiu/MeshStation.git
cd MeshStationPython 3.10 is required. Running MeshStation from source is only supported via venv + pip. No support is provided for other environment setups (conda, system-wide installs, etc.), see the support note below if you want premium support.
Option A - Standard venv:
python3.10 -m venv venv
source venv/bin/activate # Linux / macOS
venv\Scripts\activate # WindowsOption B - virtualenv:
pip install virtualenv
virtualenv -p python3.10 venv
source venv/bin/activate # Linux / macOS
venv\Scripts\activate # Windowspip install -r requirements.txtThe SDR engine runtime must be generated before the first run. Navigate to the folder matching your OS and architecture inside engine/os/ and run the build script:
Linux (example for x86_64):
bash engine/os/linux_x86_64/auto-engine-builder.shWindows:
engine\os\win_x86_64\auto-engine-builder.batThe script will automatically generate and optimize the GNU Radio runtime for your system. Run it only once, or again if you change OS/environment.
python MeshStation.pyOn first launch, any missing libraries will be detected and you will be prompted to install them.
⚠️ Support policySupport is available for bug reports, issues, and suggestions related to the public source code via GitHub Issues.
Support for compilation, packaging, or custom build pipelines (for any OS) is not provided (for free), the release build script is private and building distributable packages is too complex, time-consuming and platform-specific to support broadly. Pre-built releases for all supported platforms are available on the Releases page.
For premium support/assistance (custom builds, compilation, advanced setup), available from the Platinum tier and above: ko-fi.com/irongiu/tiers