| Crates.io | lr2021 |
| lib.rs | lr2021 |
| version | 0.8.0 |
| created_at | 2025-08-16 12:06:16.885857+00 |
| updated_at | 2025-09-14 19:12:09.399345+00 |
| description | Driver for Semtech LR2021 |
| homepage | |
| repository | https://github.com/TheClams/lr2021 |
| max_upload_size | |
| id | 1798368 |
| size | 496,657 |
An async, no_std Rust driver for the Semtech LR2021 dual-band transceiver, supporting many different radio protocols including LoRa, BLE, ZigBee, Z-Wave, and more.
Add this to your Cargo.toml:
[dependencies]
lr2021 = "0.8.0"
embassy-time = "0.3"
Basic usage:
use lr2021_driver::Lr2021;
let mut radio = Lr2021::new(reset_pin, busy_pin, spi_device, nss_pin);
radio.reset().await?;
// Configure and use your preferred protocol
| Protocol | Status | Notes |
|---|---|---|
| LoRa | Partial | Basic communication between two LR2021 devices: smallest SF, highest bandwidth. TODO: Ranging |
| BLE | Partial | 1MB/s mode, compatible with other BLE devices. TODO: 2Mb/s, Coded |
| FLRC | Tested | Basic communication between two LR2021 devices |
| FSK | Tested | Generic FSK communication verified |
| Z-Wave | Tested | Scan mode tested with ZStick S2, R1-R3 reception |
| OOK | Partial | ADSB reception validated |
| ZigBee | Partial | Reception validated with standard device |
| WiSUN | Planned | |
| WMBus | Planned | |
| LR-FHSS | Unplanned | TX only (require gateway for test) |
| Sigfox (BPSK) | Unplanned | TX only (require gateway for test) |