Skip to main content

Desktop App

The Meshtastic Desktop application shares its core codebase with Android via Kotlin Multiplatform. Most features work identically on Linux, macOS, and Windows.

Installation

Linux

  • Download the .deb or .AppImage package from the releases page
  • Or build from source using ./gradlew :desktopApp:run

macOS

  • Download the .dmg package from releases
  • Or build from source

Windows

  • Download the .msi installer from releases
  • Or build from source

Connecting Your Radio

USB Serial (Primary)

The most reliable connection method on Desktop:

  1. Connect your Meshtastic radio via USB cable.
  2. The app should detect the serial port automatically.
  3. If not detected, select the correct serial port from the Connect menu.

TCP/IP

For network-connected radios:

  1. Enter the radio's IP address and port (default: 4403).
  2. Click Connect.

Bluetooth (BLE)

Bluetooth Low Energy is supported on Desktop via the Kable library:

  1. Ensure your system has a Bluetooth adapter.
  2. The app scans for nearby Meshtastic radios automatically.
  3. Select your device from the Connect screen.

Feature Parity

FeatureAndroidDesktopNotes
MessagingFull parity
Node ListFull parity
MapFull parity
SettingsFull parity
Bluetooth (BLE)Via Kable on desktop
Firmware Update OTAUse web flasher
NotificationsNative OS notifications
WidgetsAndroid-only
Android AutoAndroid-only — not available on Desktop or iOS
AI Assistant (Chirpy)✓*Google flavor Android only
App Functions (system AI)✓†Google flavor Android only

*Chirpy AI requires Android 14+ on Google flavor builds with supported hardware.

†App Functions exposes app actions to the Android system AI on Google flavor builds. See App Functions.

UI Differences

The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction.

Keyboard Shortcuts

ShortcutAction
⌘Q / Ctrl+QQuit the application
⌘, / Ctrl+,Open Settings
⌘1 / Ctrl+1Switch to Messages tab
⌘2 / Ctrl+2Switch to Nodes tab
⌘3 / Ctrl+3Switch to Map tab
⌘4 / Ctrl+4Switch to Connect tab

Window & System Tray

  • Window resizing — responsive layout adapts to window dimensions
  • System tray — minimize to system tray for background mesh operation
  • Tray menu — right-click the tray icon to show window or quit
  • Mouse interaction — hover states and standard desktop navigation

Notification Preferences

The Desktop app provides in-app toggles for controlling which notifications are shown — messages, new nodes, and low battery alerts. Access these from Settings → Notifications within the app.

Built-in Documentation Browser

The Desktop app includes a built-in documentation browser for quick access to help content without leaving the application.

Docs browser with table of contents

The browser supports full-text search across all documentation:

Searching the docs browser

Individual doc pages render with full formatting:

A documentation page

Building from Source

git clone https://github.com/meshtastic/Meshtastic-Android.git
cd Meshtastic-Android
git submodule update --init
./gradlew :desktopApp:run

Requirements:

  • JDK 21
  • No Android SDK required for desktop-only builds

Known Limitations

  • No OTA firmware updates (use web flasher)
  • Some Android-specific features (widgets, specific notification channels) are unavailable
  • Performance may vary on low-spec hardware running Compose Desktop
  • BLE bonding is not yet supported on desktop (pairing works without bonding)