Meshtastic ↔ Matrix Relay
MMRelay is a self-hosted bridge between a Meshtastic meshnet and Matrix. It runs as a long-lived service, connects to one Meshtastic node, logs in to Matrix with a bot account, and relays eligible traffic between configured Meshtastic channels and Matrix rooms.
Meshtastic meshnet ⇄ Meshtastic node ⇄ MMRelay ⇄ Matrix rooms
- Meshtastic side: MMRelay connects to a Meshtastic node over Serial, BLE, or TCP/network (for example, a node reachable over Wi-Fi).
- Matrix side: MMRelay joins configured rooms using a dedicated Matrix bot account.
- Room/channel mapping: one or more Meshtastic channels (0–7), each mapped 1:1 to a Matrix room.
- Bidirectional relay: eligible mesh traffic can be posted to the mapped Matrix room, and eligible Matrix traffic can be transmitted on the mapped Meshtastic channel.
- Identity boundary: messages posted into Matrix are sent by the MMRelay bot. Meshtastic sender names and node IDs are preserved as attribution; they are not Matrix-authenticated identities.
For the full conceptual model—including meshnet terminology, the recommended relay-node setup, message flow, mapping behavior, and the identity/trust boundary—see How MMRelay Works.
- Installation and setup — install MMRelay and create a configuration
- Getting started with Matrix — Matrix basics and account setup
- E2EE setup — encrypted Matrix rooms and bot-device identity
- Docker · Helm · Kubernetes — deployment options
- What's new in 1.4 — release and upgrade guidance
- Documentation index — all versioned project documentation
- Bidirectional Meshtastic ↔ Matrix message relay
- Multiple meshnets and configurable room/channel mappings
- Serial, BLE, and TCP/network Meshtastic connections
- Matrix end-to-end encryption support
- Replies and reactions across the bridge
- Message formatting and payload-size handling for Meshtastic
- SQLite-backed node/message state
- Docker and Kubernetes deployment support
- Core, community, and local plugin support
- Optional MQTT integration through Meshtastic firmware
E2EE: MMRelay uses mindroom-nio with vodozemac for encrypted Matrix rooms. Cross-signing applies to the Matrix bot device only; it does not authenticate Meshtastic identities. See the E2EE guide, especially before resetting authentication or cross-signing state.
Meshtastic library: MMRelay uses mtjk, a Meshtastic Python fork with additional BLE, connection-lifecycle, and thread-safety work used by this project.
MMRelay can be extended with built-in core plugins, Git-managed community plugins, and local custom plugins. Plugins run inside the MMRelay process, so install third-party code only from sources you trust.
- Project room: #mmrelay:matrix.org
- Meshnet Club space: #meshnetclub:matrix.org
- Public relay room: #mmrelay-relay-room:matrix.org