### 🛰️ 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.
---
### 🧰 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**
* Download from [https://www.python.org/downloads/windows/](https://www.python.org/downloads/windows/)
* ✅ During setup, **check “Add Python to PATH”**.
* After installation, open **Command Prompt** and verify:
```cmd
python --version
pip --version
```
2. **Upgrade pip and install all required dependencies**
```cmd
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)**
* Install **Silicon Labs CP210x** or **CH9102** drivers, depending on your device.
* Official driver links:
* [CP210x Windows Drivers](https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers)
* [CH9102 Windows Drivers](https://www.wch.cn/downloads/CH9102_Windows_Driver.html)
4. **(Optional) Clone the official Meshtastic Python repository**
```cmd
git clone https://github.com/meshtastic/python.git
```
👉 [https://github.com/meshtastic/python](https://github.com/meshtastic/python)
5. **Download this GUI client**
Place `meshtastic_client.py` (your version) in a folder such as
`C:\Users\\MeshtasticClient`
6. **Run the program**
```cmd
cd C:\Users\\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.
Here’s 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.
### ⚙️ Installation
```bash
sudo apt update
sudo apt install -y python3-full python3-venv bluetooth bluez bluez-tools python3-serial git
git clone https://github.com//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:
```bash
sudo usermod -aG dialout $USER
sudo usermod -aG tty $USER
# log out and back in
```
### ▶️ Run
```bash
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)