https://github.com/gretel/chirpmunk-rs
Rust LoRa PHY transceiver and wideband scanner built on Future SDR
https://github.com/gretel/chirpmunk-rs
cbor futuresdr iio lora lorawan meshcore python rust sdr seify soapy transceiver
Last synced: 22 days ago
JSON representation
Rust LoRa PHY transceiver and wideband scanner built on Future SDR
- Host: GitHub
- URL: https://github.com/gretel/chirpmunk-rs
- Owner: gretel
- License: gpl-3.0
- Created: 2026-05-13T22:42:15.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-05-16T12:24:21.000Z (2 months ago)
- Last Synced: 2026-05-16T14:37:15.034Z (2 months ago)
- Topics: cbor, futuresdr, iio, lora, lorawan, meshcore, python, rust, sdr, seify, soapy, transceiver
- Language: Rust
- Homepage:
- Size: 280 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# chirpmunk-rs
**chirpmunk-rs** — a Rust LoRa PHY transceiver and wideband scanner built on [FutureSDR](https://github.com/gretel/FutureSDR), paired with a CBOR/UDP control plane compatible with `chirpmunk-gr4`.
> **Status:** research prototype. APIs, configuration, and on-wire formats change without notice. Not production-ready.
## Requirements
- Rust toolchain (MSRV 1.89, edition 2024)
- SDR:
- UHD via SoapySDR (`soapy_driver=uhd`) — B200 / B210 (other UHD devices untested)
- IIO via libiio (under development)
## Build & run
```sh
# Build everything
cargo build --workspace
# Run tests
cargo test --workspace
# Lint
cargo clippy --workspace --all-targets -- -D warnings
```
Binaries land in `target/debug/`. Configuration is via TOML (see `apps/chirpmunk-trx/config.example.toml`). Default UDP ports:
| Port | Endpoint | Direction |
|------|-------------------------|----------------------|
| 5555 | `chirpmunk core` | publish to consumers |
| 5556 | `chirpmunk-trx` | producer → core |
| 5557 | `chirpmunk-scan` | producer → core |
Start (each in its own shell):
```sh
# data-plane core (start before producers) — from chirpmunk-gr4
lora core --config apps/config.toml
# Rust transceiver (hardware)
./target/debug/chirpmunk-trx --config apps/chirpmunk-trx/config.example.toml
# Loopback (no hardware)
./target/debug/chirpmunk-trx --loopback --bind 127.0.0.1:5556
```
## Credits
The DSP pipeline draws on the EPFL TCL reference implementation ([gr-lora_sdr](https://github.com/tapparelj/gr-lora_sdr), GPL-3.0), adapted for FutureSDR's Rust block model. The CBOR/UDP control plane is a shared design with [`chirpmunk-gr4`](https://github.com/gretel/chirpmunk-gr4), authored alongside it.
## Documentation
Is currently lacking. Work in progress. Please stay tuned!
## License
[GPL-3.0-only](LICENSE) — SPDX identifier `GPL-3.0-only`.
Copyright © 2025–2026 Tom Hensel <code@jitter.eu>.