Tactility/Modules/mesh-meshtastic-module
Ken Van Hoeylandt 56ddd4b355
Mesh Chat apps, ESP-NOW mesh radio, and shared Wi-Fi radio ownership (#698)
Mesh gets contacts, channels, delivery receipts, QR sharing and an ESP-NOW radio. Mesh Chat is split into Mesh Contacts and Mesh Channels, `mesh inspect` replaces the Mesh Inspect app, and ESP-NOW and Wi-Fi now share the Wi-Fi radio safely.
2026-10-17 18:56:27 +02:00
..

Meshtastic backend

Meshtastic protocol backend for the mesh service (mesh-module). It registers itself with mesh_backend_register() as meshtastic. It has a GPL-3.0 license, and none of its headers are part of the app SDK.

Supported:

  • The LongFast preset (SF11, 250 kHz, CR 4/5, sync word 0x2B), in the frequency slot that the primary channel's name selects within the region's band, like Meshtastic does.
  • Channels: the primary channel is preconfigured as "LongFast" with the default key. More channels can be added with mesh_set_channel(), with a 1-byte PSK index, or a 16 or 32-byte key.
  • Text messages on channels, and direct messages to and from nodes. Direct messages request an acknowledgement and received ones are acknowledged.
  • NodeInfo: sent at start and every 3 hours, received NodeInfo provides node names.

The node number is random and stored in the backend's data directory. The node doesn't rebroadcast packets for others (like the CLIENT_MUTE role).

Not implemented: public key (PKI) encryption of direct messages, other modem presets, positions and telemetry. Direct messages are encrypted with the primary channel's key, which current firmware still accepts.