Dorian 38c146c477 feat(firmware): MeshCore message RX — decrypt DMs addressed to us
- vendor orlp/ed25519 (lib/ed25519, MIT — the exact lib MeshCore uses) for
  Curve25519 ECDH key exchange; switch identity/advert signing to it (same
  seed -> same pubkey, so peers still recognise us; sigs are byte-identical)
- store pubkeys from heard MeshCore adverts (contacts table) so a DM's
  1-byte src_hash can be resolved to a full sender key
- decode PAYLOAD_TYPE_TXT_MSG: ECDH shared secret, HMAC-SHA256 MAC check,
  AES-128-ECB decrypt, parse timestamp+text, drive the message modal
- verified end-to-end: real MeshCore node -> "hello from HP Pro Desk" decoded

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 18:30:20 +01:00

archy-messh

Research + firmware project exploring a single LoRa device that can speak, relay, and repeat between three independent mesh networking protocols:

  • Meshtastic
  • MeshCore
  • Reticulum (via RNode-style modem firmware)

Goal: one ESP32-based device that acts as a tri-protocol repeater/bridge — not a fork of any single project, and not affiliated with or dependent on the archy (Archipelago) codebase. This repo is intentionally standalone.

Status

Architecture phase done — see docs/ARCHITECTURE.md for the protocol research, hardware constraints (target: Heltec WiFi LoRa 32 V3), and phased plan. Phase 0 (host-side bridge across 3 separate stock-firmware boards) is written — see host-bridge/ — but not yet hardware-tested; no LoRa boards have been attached to the dev machine this was written on.

Layout

  • docs/ — protocol research notes and architecture/design docs
  • host-bridge/ — Phase 0: Python bridge relaying text between real Meshtastic/MeshCore/RNode-Reticulum boards over each project's official client protocol
  • firmware/ — Phase 1+ embedded firmware (once Phase 0 is validated on hardware)
  • hardware/ — reference hardware notes / board selection

Non-goals (for now)

  • Not reimplementing any of the three protocols from scratch in v1
  • Not targeting non-ESP32 hardware initially
  • Not touching/depending on the archy (Archipelago) repo in any way
Description
No description provided
Readme 52 KiB