2025-12-12 20:49:08 +01:00
2025-12-12 20:10:14 +01:00
2025-12-12 20:10:29 +01:00
2025-12-12 20:11:32 +01:00
2025-12-12 20:47:39 +01:00
2025-11-01 11:08:56 +01:00
2025-10-31 08:45:39 +01:00
2025-12-12 20:09:59 +01:00
2025-11-22 12:08:36 +01:00
2025-11-26 15:41:24 +01:00
2025-12-12 20:48:04 +01:00
2025-12-10 12:30:58 +01:00

🛰️ Meshtastic Client for Windows and Linux

A modern Python-based desktop client for managing Meshtastic networks on Windows and Linux. This project provides an intuitive graphical interface to connect via IP, USB or Bluetooth to Meshtastic devices, monitor nodes in real time, send and receive messages, and manage network settings — all without using the command line.

Built entirely in Python, it features:

  • Real-time node list with shortname, longname, since, hops, dist, speed, alt, hw, role
  • Message send/receive for the channels public, direct and private (all channels)
  • Support for light and dark themes and config save.
  • Direct IP, USB and Bluetooth connection support
  • Auto-refresh and title with node count default sort since
  • Automatic “Ping → Pong” reply function — the client automatically responds to incoming “ping” with “pong” on a direct message
  • Node count, node filter, and sorting by short name, long name, since, hops, distance, hardware, and role.
  • Right click menu on the node to Show node info, Show node on Map and Traceroute the node, delete node, direct node chat in window.
  • Links menu to Meshtastic internet sites.
  • Status bar with POS, TEL, INFO.

Standalone Windows GUI for their Meshtastic devices.

image

🧰 Installation & Setup (Windows)

You can also download the ready to use Mestastic_Client.exe or the .deb file to install it on Linux Mint 22 or Debian 13. New also a flatpak is available for other linux distributions.

  1. Install Python 3.10 or newer

  2. Upgrade pip and install all required dependencies

    python -m pip install --upgrade pip
    pip install --upgrade meshtastic pyserial bleak pypubsub dotmap timeago requests pyyaml tabulate packaging
    

    Dependency overview

    Package Purpose
    meshtastic Core library for TCP / USB / BLE connections
    pyserial Enables USB / Serial communication
    bleak Bluetooth Low Energy support
    pypubsub Event/pub-sub messaging used by the library
    dotmap Easy access to nested dictionaries
    timeago Human-readable time display
    requests HTTP utilities (used internally)
    pyyaml Configuration and serialization
    tabulate CLI table output
    packaging Version comparison utilities
  3. Install USB drivers (if using Serial/USB connection)

  4. (Optional) Clone the official Meshtastic Python repository

    git clone https://github.com/meshtastic/python.git
    

    👉 https://github.com/meshtastic/python

  5. Download this GUI client Place meshtastic_client.py (your version) in a folder such as C:\Users\<YourName>\MeshtasticClient

  6. Run the program

    cd C:\Users\<YourName>\MeshtasticClient
    python meshtastic_client.py
    
  7. Connect your Meshtastic device

    • Connection → Connect (TCP) — for Wi-Fi / Ethernet connections
    • Connection → Connect via USB/Serial… — for direct cable connection
    • Connection → Connect via Bluetooth… — scan and pair over BLE
  8. **Enable Bluetooth in Windows Settings → Bluetooth & devices → “Add device” to ensure permissions.

Heres a short GitHub installation & run description for your meshtastic_client.py on Raspberry Pi OS (Trixie):


🐍 Meshtastic Client for Raspberry Pi OS Trixie (linux)

Description: A Python GUI client for Meshtastic devices running fully offline on Raspberry Pi OS Trixie (Debian 13). Connect via USB or Bluetooth, send and receive messages, and view node info in real time.

image

⚙️ Installation

sudo apt update
sudo apt install -y python3-full python3-venv bluetooth bluez bluez-tools python3-serial git
git clone https://github.com/<yourname>/meshtastic_client.git
cd meshtastic_client
python3 -m venv venv
source venv/bin/activate
python -m pip install --upgrade pip
pip install "meshtastic[cli]" pyserial bleak pypubsub dotmap timeago requests pyyaml tabulate packaging

Add user to serial groups:

sudo usermod -aG dialout $USER
sudo usermod -aG tty $USER
# log out and back in

▶️ Run

source venv/bin/activate
python3 meshtastic_client.py

🧩 Notes

  • Works on Raspberry Pi 4/5 with Raspberry Pi OS Bookworm/Trixie.
  • No internet connection required after setup.
  • To exit the virtual environment: deactivate.

Have fun

PS. Use IP or serial - bluetooth is slow. PPS. tkinter must be installed to run the program.

Knud ;O)

Description
No description provided
Readme MIT 149 MiB
Languages
Python 96.9%
Shell 3%
Batchfile 0.1%