A terminal interface for chatting via Meshtastic.
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.
- 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
- Python 3.8 or higher
- A Meshtastic device connected via USB/serial
- uv - Fast Python package installer and resolver
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.
gh repo clone richstokes/meshtastic_terminal
cd meshtastic_terminal
uv sync
This will:
- Create a virtual environment (if needed)
- Install all required dependencies
- Make the scripts available for execution
The recommended way to run the terminal interface is using uv run
:
uv run python meshtastic_tui.py
Feel free to submit issues or pull requests to improve these scripts!