Documentation

Meshtastic primer

Voicetastic does not invent a new network. It rides on Meshtastic, an open-source LoRa mesh. If Meshtastic is new to you, here is the smallest explanation that will get you to a useful mental model.

What is Meshtastic?

Meshtastic is a project that turns inexpensive LoRa radios into a self-healing wireless mesh. Each radio (called a node) can relay messages for the others, so coverage grows organically as more people join. No tower. No SIM card. No subscription. Range per hop is typically a few hundred metres in town and several kilometres in the open; multi-hop networks easily cover a town or a hiking trail.

You relay relay Friend
A message can take any working path of relays. Nodes rebroadcast for each other automatically.

What it carries by default

  • Short text messages, broadcast or direct.
  • Position and telemetry, if you opt in.
  • Channels: a channel is just a shared name + pre-shared key. Anyone with the key is in.

Voicetastic adds voice messages on top, using a Meshtastic application port reserved for third-party tenants (PRIVATE_APP, port 256). To Meshtastic, voice frames look like any other payload; they get the same encryption, the same routing, the same airtime budget.

What hardware do I need?

A Meshtastic radio

Any node running modern Meshtastic firmware. ESP32, nRF52, RP2040, the list is long and growing. See supported devices.

A Voicetastic client

The Android app (BLE or USB serial) or the Linux desktop client (BLE or USB serial). Both speak the same wire protocol.

A LilyGo T-Deck (optional)

The reference target for the browser flasher: a standalone Voicetastic-aware radio with a screen and keyboard.

i

You can use Voicetastic with a standard Meshtastic radio. You do not need a Voicetastic-specific firmware. The custom firmware (in our firmware fork) only matters for nodes that act as standalone Voicetastic devices, like the T-Deck.

How it stays private

Meshtastic encrypts every channel with AES-256-CTR using the channel's pre-shared key. Voicetastic delegates confidentiality to that layer rather than rolling its own envelope. Anyone with the channel key can read traffic on it; anyone without cannot. If you want stricter confidentiality, give the channel out only to trusted parties.

Where to learn more