Skip to content

English

IronGiu edited this page Apr 13, 2026 · 16 revisions

MeshStation (English)

Platform Arch Install License

Welcome

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.


Quick Start (Portable)

  1. Download the correct archive for your OS / CPU
  2. Extract the archive into a folder (keep all files together)
  3. 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


Latest Release Downloads.

These links always point to the latest stable release.

Linux

macOS

Windows


Usage Notes

  • 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).

System Requirements

Windows

  • 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.

Linux

  • 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).

macOS

  • 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.

RTL-SDR Drivers Setup Linux

1. Quick Installation (Recommended Method)

On most Linux distributions (Ubuntu, Debian, Linux Mint, Raspberry Pi OS), open a terminal and run:

Debian / Ubuntu / Mint:

sudo apt-get install rtl-sdr

Fedora:

sudo dnf install rtl-sdr

Arch Linux:

sudo pacman -S rtl-sdr

This installs the RTL-SDR utilities required to interact with the device.


2. Device Test

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_test

Possible 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.


3. Blacklist DVB-TV Drivers (If Needed)

Some systems automatically load drivers for digital TV receivers which prevents SDR access.

Create the blacklist file:

sudo nano /etc/modprobe.d/blacklist-rtl.conf

Add:

blacklist dvb_usb_rtl28xxu

Save (Ctrl+O) and exit (Ctrl+X), then reboot the system.


4. Udev Rules (Non-Root Permissions)

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 trigger

Reconnect the device or reboot to apply the changes.


RTL-SDR Drivers Setup Windows

1. Download Required Tools

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

2. Install the USB Driver (Zadig)

Windows normally installs a DVB-T TV driver, which does not work for SDR.
You must replace it with the WinUSB driver.

  1. Download Zadig: https://zadig.akeo.ie/
  2. Plug in the RTL-SDR dongle
  3. Run zadig.exe as Administrator
  4. Click Options → List All Devices
  5. Select your RTL-SDR device (usually Bulk-In, Interface 0)
  6. Choose WinUSB
  7. Click Install Driver

Wait until the installation finishes.


3. Test the Device

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.


4. Troubleshooting

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.


Developer Notes (Source / Environment)

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)

Clone the repository

git clone https://github.com/IronGiu/MeshStation.git
cd MeshStation

Python virtual environment setup (required)

Python 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           # Windows

Option B - virtualenv:

pip install virtualenv
virtualenv -p python3.10 venv
source venv/bin/activate        # Linux / macOS
venv\Scripts\activate           # Windows

Install dependencies

pip install -r requirements.txt

Build the engine runtime (GNU Radio)

The 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.sh

Windows:

engine\os\win_x86_64\auto-engine-builder.bat

The script will automatically generate and optimize the GNU Radio runtime for your system. Run it only once, or again if you change OS/environment.

Run MeshStation

python MeshStation.py

On first launch, any missing libraries will be detected and you will be prompted to install them.


⚠️ Support policy

Support 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