What is LoRa Relay Chat?
LoRa Relay Chat (LRC) is a signed, plaintext, cellular LoRa network with an IRC gateway. Each of those words is a deliberate engineering decision:
- LoRa — long-range, low-power sub-GHz radio. Kilometres of range on milliwatts, at chat-message data rates. No cell towers, no subscription.
- Cellular — not a flood mesh. Routers (an ESP32-S3 with an SX1262
radio, or a Linux
lrcddaemon) sequence channel traffic and federate with each other; clients attach to a router with a cellular-style HELLO/WELCOME handshake, the way a phone attaches to a tower. Flooding is reserved for discovery only. A busy channel costs one transmission per access network — not one per listener. - IRC gateway — the user interface is the IRC protocol itself. Point
irssi, WeeChat, HexChat, or anything from the last thirty years at a node
and
/join #pizza. There is no app to install, trust, or keep updated. - Signed, plaintext — messages carry verifiable Ed25519-rooted identity (escalating from cheap 8-byte tags to periodic full signatures), but chat content is never encrypted, by charter. This is public chat infrastructure with provable origin — like ham radio with cryptographic callsigns. If you need confidential comms, Meshtastic or MeshCore are the right tools; the comparison says so plainly.
The thirty-second mental model
Section titled “The thirty-second mental model”your IRC client ──TCP──▶ node (USB/WiFi) ──LoRa──▶ router ──federation──▶ the world irssi, WeeChat… ESP32 or lrcd sequences #channels TCP when available, per-stream seq numbers RF when it isn'tA router stamps every channel message with a sequence number. That one
decision buys most of what makes LRC feel like infrastructure instead
of a walkie-talkie: a missed message is a detectable gap, and gaps are
healed automatically by the same mechanism whether you missed five minutes
or five days — scrollback on /join, backfill after a reboot, recovery
after a netsplit. The network behaves like a write-ahead log, not a
best-effort shout.
Routers federate over TCP when the internet is available and keep working over RF when it isn’t. A packet that traveled the internet is never re-emitted on RF except at the destination’s access router.
What it is not
Section titled “What it is not”- Not encrypted chat. By charter. Signed, public, auditable — see Identity for exactly what the tags do and don’t prove.
- Not Meshtastic-compatible on the air. It coexists politely — the frequency planner actively dodges Meshtastic presets and MeshCore metro channels with guard bands — but it does not interoperate.
- Not finished. Pre-1.0. Two boards verified on hardware, one compile-only; some designed behavior is still landing. The roadmap and the deep dive name every gap.
Where to go next
Section titled “Where to go next”- Quickstart — build it or flash it.
- Engineering deep dive — the whole honest story, wart by wart.
- Why LoRa Relay Chat? — the comparison page, if you arrived here already running Meshtastic or MeshCore.