This is a pure-rust driver for the nRF24L01 wireless transceivers.
This project aims to support the embedded rust ecosystem. This includes but is not limited to Linux on RPi. Other points of interest:
- crates.io for embedded-hal crates
- the awesome embedded rust list
- the embedded-hal framework
The Rust API documentation is hosted at docs.rs/rf24-rs.
Here, you will find the API for FFI (Foreign Function Interface) bindings:
Here is the intended roadmap:
-
implement driver for the nRF24L01 (OTA compatible with RF24 library)
This should be HAL-agnostic in terms of MCU. It would also be nice to reimplement the same API (using rust's
trait
feature) for use on nRF5x radios. -
implement a fake BLE API for the nRF24L01 (see #4)
-
implement network layers (OTA compatible with RF24Network and RF24Mesh libraries)
-
implement ESB support for nRF5x MCUs. This might be guarded under cargo features.
Mostly because I ❤️ rust. There are other driver libraries for the nRF24L01 in pure rust, but they all seem unmaintained or designed to be application-specific. There's even a crate to use the nRF5x chips' ESB support, but this too seems lacking maintainers' attention.