Skip to content

MeshSat Android

MeshSat Android is a standalone mobile gateway app that turns any Android phone into a mesh-satellite-cellular routing device.

GitHub: meshsat/meshsat-android

Three transport paths

TransportConnectionRange
Meshtastic LoRaBluetooth Low Energy (BLE)1-20 km (mesh)
Iridium 9603NBluetooth SPP via HC-05 adapterGlobal (LEO satellite)
Cellular SMSNative Android APICell coverage

All three transports run simultaneously. The rules engine decides which messages go where.

Key features

Encrypted SMS bridge

Bridge two isolated LoRa mesh networks over cellular:

[Mesh A] --LoRa--> [MeshSat Pi] --encrypted SMS--> [MeshSat Android] --BLE--> [Mesh B]

The cellular link is AES-256-GCM encrypted — the carrier sees only ciphertext. Both the Pi Bridge and Android app share the same encryption codec.

MSVQ-SC semantic compression

On-device ONNX Runtime encoder achieves 92% compression on typical field messages. Critical for Iridium SBD's 340-byte limit.

SOS emergency broadcast

One button sends your distress message on all three transports simultaneously (mesh + satellite + SMS), repeated 3x with 30-second intervals.

Signal monitoring

6-hour rolling graphs for:

  • Mesh RSSI (Meshtastic radio)
  • Iridium signal bars (satellite modem)
  • Cellular dBm (phone modem)

Forwarding rules engine

Configure which messages route between which transports:

  • Mesh → Satellite (relay to operations center)
  • Mesh → SMS (bridge to second mesh network)
  • SMS → Mesh (inject messages from cellular contacts)
  • Any combination with per-rule filtering

Hardware requirements

ComponentPurposeNotes
Android phoneGateway hostAPI 26+ (Android 8.0), BLE support
Meshtastic radioLoRa meshAny BLE-capable (T-Deck, T-Echo, Heltec, XIAO)
Iridium 9603N / RockBLOCKSatellite modemNeeds separate power (up to 1.5A TX)
HC-05 Bluetooth adapterBluetooth-to-serial bridge3.3V TTL, 19200 baud

HC-05 wiring to RockBLOCK

HC-05 TX  →  RockBLOCK RX (pin 6)
HC-05 RX  →  RockBLOCK TX (pin 5)
HC-05 3V3 →  RockBLOCK 3.3V
HC-05 GND →  RockBLOCK GND

Tech stack

  • Language: Kotlin
  • UI: Jetpack Compose (Material 3, dark theme)
  • Database: Room (SQLite)
  • ML: ONNX Runtime (MSVQ-SC compression)
  • Concurrency: Kotlin Coroutines
  • Min SDK: Android 8.0 (API 26)

Current status

Early development. Core transports (BLE mesh, SPP Iridium, native SMS) are functional. Rules engine and compression are implemented. UI is Material 3 Compose.

Made by MeshSat