Files
roro9stack/docs/adr/0001-own-firmware-speaking-meshtastic.md
T
twislaandClaude Opus 5.5 87b6b845fb Add domain glossary and initial architecture decisions
CONTEXT.md captures the roro9stack domain language (Apps, Services,
Mesh Service, Nodes, Channels, Storage rules). ADR 0001 records building
our own firmware that speaks Meshtastic instead of forking it; ADR 0002
records an own widget kit on M5GFX instead of LVGL.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 18:25:36 +02:00

1018 B

Own firmware that speaks Meshtastic, not a Meshtastic fork

We build our own firmware from existing libraries (PlatformIO + Arduino-ESP32, M5Cardputer/M5Unified, RadioLib, TinyGPSPlus, nanopb with Meshtastic's published protobufs). We implement the Meshtastic protocol ourselves as one pluggable Mesh Protocol, rather than forking the Meshtastic firmware, which already supports this exact hardware.

A fork would give full compatibility on day one, but its architecture is built around being a single-purpose Meshtastic node. That conflicts with our goals: a multi-app OS with a fully custom UX, and room for other mesh protocols (e.g. MeshCore) later.

Consequences

  • We accept partial Meshtastic compatibility at first: text on channels, Direct Messages, node list, position and relaying.
  • The phone-app (BLE) API and PKI-encrypted Direct Messages are deferred, and we must re-implement protocol details ourselves.
  • Multi-boot with stock Meshtastic via a launcher was rejected: it gives none of our own UX.