finds.dev← search

// the find

jgoerzen/lorapipe

★ 78 · Rust · GPL-3.0 · updated Jun 2022

Pipe applications and networks over long-range LoRa radios

lorapipe turns a LoStik (RN2903/RN2483-based USB LoRa radio) into a Unix pipe, letting you move data or run KISS-framed TCP/IP over long-range radio. It's for embedded and radio hobbyists who want to wire LoRa into shell pipelines or run minimal networking where no cellular or WiFi exists.

Hardware abstraction is clean — serial communication to the RN2903 is isolated in lorastik.rs and the KISS framing (standard AX.25 protocol) is its own module, so the protocol layers don't bleed into each other. Shipping init-fast.txt/init-slow.txt radio config presets is practical: you can swap spreading factor and bandwidth without reading the datasheet. The man page (lorapipe.1.md) is unusually complete for a 78-star hobby project — actual usage examples, timing caveats, and a real explanation of LoRa's duty cycle constraints. Being a pipe means you get SSH, rsync, or whatever else for free without the project having to implement anything.

Unmaintained since June 2022 and requires firmware 1.0.5 on a specific chipset — if your hardware shipped with a different version or you're using a different LoRa module, you're on your own. No ARQ or retry logic: the README is upfront that this is lossy by default, which means anything you run over it needs its own reliability layer or you accept drops. Locked to LoStik hardware; if you want SX1276/SX1262-based modules (which are now far more common and cheaper), look elsewhere. The companion TCP/IP path uses KISS + SLIP layering that was designed for packet radio in the 1980s — functional but very low throughput and not great for anything beyond small-payload telemetry.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →