owgbot: a tiny BBS for the LoRa mesh
MeshCore coverage in Calgary has quietly gotten good. So the obvious next question: how can I do fun things with this now?
So I built a bot.
owgbot is a Go daemon on a Raspberry Pi Zero 2 W with a Heltec V3 hanging off USB serial. It speaks the MeshCore companion protocol directly (no client library — the serial framing is simple enough to just implement), and DMing it from any node gets you a slash-command interface that is, in spirit, a 1993 BBS reincarnated at 900 MHz.
What it answers to
- /w calgary — terse two-line forecast, remembers your spot
- /remind +2d check antenna — durable reminders, DM'd when due
- /mail <node> <text> — store-and-forward mail, delivered when they're next heard
- /wall — shared graffiti wall
- /ping — pong plus the SNR you were heard at; sticky mode for walking range tests
- /seen, /nodes — mesh radar built from adverts
- /wordle — one word a day, shared by the whole mesh, streaks per node
- /zork — an LLM game-masters a fresh puzzle adventure, 140 bytes at a time
- /ai — a large language model over LoRa, which is exactly as absurd as it sounds
- /gem owg.fyi — a gemini browser, so you can read this very post over the mesh
Everything is shaped by the medium: replies chunk at 140 bytes, outbound is paced so the bot is polite about shared airtime, and every plugin is written to say things like a telegraph operator being charged by the word.
The parts I like
The whole thing installs itself: one static binary, sudo ./owgbot install, and the systemd unit, config, and service user appear. Updates ship over the air — an admin DMs /update from anywhere on the mesh, the bot pulls the release from GitHub, verifies the checksum, swaps itself, and DMs you back when it's online again. I have updated this thing from a phone with no internet connection, which still feels like a magic trick.
Plugins are one small Go package each: declare your commands, get a KV store and a reply function, done. The dev loop is a fake radio with a chat TUI, so none of it needs hardware on the desk.
Heltec V3 + Pi Zero 2 W. About $40 of hardware, sipping about a watt.
I think I need to make a Geocache out of this thing... somehow.
---
Viewed 309 times (last updated 2026-08-11 · r2)