Skip to content

richstokes/meshtastic_terminal

Repository files navigation

Meshtastic Terminal

A terminal interface for chatting via Meshtastic.

Meshtastic TUI Screenshot

Overview

Meshtastic Terminal is a modern terminal UI for real-time communication over Meshtastic mesh networks. Monitor messages, send texts, and manage your mesh network directly from your terminal.

Features

  • Real-time message display with timestamps
  • Interactive UI using Textual framework
  • Node discovery tracking with persistence
  • Radio configuration display (preset/region)
  • Live node counter in header, plus other stats
  • Press 's' to send a message
  • Press 'q' to quit
  • Automatic message history with configurable limits
  • Ability to switch radio presets/modes and frequency slots on the fly
  • Theme support - press ctrl+p to open the theme selector

Prerequisites

  • Python 3.8 or higher
  • A Meshtastic device connected via USB/serial
  • uv - Fast Python package installer and resolver

Installation

1. Install uv (if not already installed)

On macOS/Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh

Or using Homebrew:

brew install uv

For other installation methods, see uv documentation.

2. Clone or download this repository

gh repo clone richstokes/meshtastic_terminal
cd meshtastic_terminal

3. Install dependencies with uv

uv sync

This will:

  • Create a virtual environment (if needed)
  • Install all required dependencies
  • Make the scripts available for execution

Usage

Running Meshtastic Terminal

The recommended way to run the terminal interface is using uv run:

uv run python meshtastic_tui.py

Contributing

Feel free to submit issues or pull requests to improve these scripts!

About

📡 A terminal interface for chatting via Meshtastic

Topics

Resources

License

Stars

Watchers

Forks