Skip to content

Latest commit

 

History

History
137 lines (89 loc) · 3.54 KB

README.md

File metadata and controls

137 lines (89 loc) · 3.54 KB

Meshtastic GUI

A Python-based GUI application for interacting with Meshtastic devices, built using PyQt6 and the Meshtastic Python API. This project aims to provide a user-friendly desktop alternative to the official Meshtastic clients, offering the same functionality as the iOS, Android, and web clients—but in an offline-capable, native desktop form.


⚠️ Current Status

💡 Incoming messages are currently only visible in the debug terminal and do not yet show up in the GUI. This is a known issue and being actively worked on.

This project is still under development and will continue evolving with feedback and feature requests. Built with the help of Large Language Models (LLMs) to kickstart implementation—refinements are ongoing.


🚀 Project Goals

The primary goal of this project is to provide a full-featured, offline-capable desktop client with the same power as the official Meshtastic mobile and web apps.

Core Objectives

  • Offline-first functionality (no internet required)
  • Full feature parity with official clients
  • Native Windows & Linux support
  • Clean, modern, and themeable UI
  • All core Meshtastic functions:
    • Messaging (real-time & historical)
    • Node visibility and management
    • Channel setup and switching
    • Device setting tweaks
    • Map views for nodes (planned)
    • Offline message storage
    • Advanced configuration panels

UI Goals

  • Multiple built-in themes: Light, Dark, High Contrast
  • Full color/font/layout customization

🧪 Getting Started

Requirements

  • Python 3.x
  • PyQt6
  • Meshtastic Python API
  • pyserial

Installation

git clone https://github.com/wasted-alien/Meshtastic-Desktop-Application.git
cd Meshtastic-Desktop-Application
pip install -r requirements.txt

Running the App

python main.py
  1. Select your device’s serial port from the dropdown
  2. Click Connect
  3. Type a message and press Send
  4. Use the side panel for device settings

🔧 Features

  • Serial port auto-detection & management
  • Real-time message sending
  • Device name customization
  • Console log for debug visibility
  • Clean dark UI with teal accents
  • Future support for custom themes

🗘️ Roadmap

  • Serial port connection
  • Device naming
  • Message sending
  • Bluetooth Connection
  • GUI message reception
  • Message history storage
  • Channel & node management UI
  • Map-based node display
  • Full theme customization system

🗈️ Preview

Meshtastic GUI Preview


🤝 Contributing

Pull requests welcome! Whether it's bug fixes, feature ideas, UI tweaks, or theme contributions—feel free to jump in.


🧠 Development Notes

This project was rapidly prototyped using help from LLMs for code scaffolding and early UI structure. All features are being refined and validated manually—community testing is appreciated!


📄 License

Licensed under the Non-Commercial Open Source License – see the LICENSE file for details.


🙏 Acknowledgments


✍️ Authors

Add your name or handle below if you’ve contributed to this project:

  • 🛠️ Wasted Alien – Creator & Lead Dev
  • (Add yourself here!)