A zero-assumptions library for interfacing the RP2040 microcontroller with the RFM69 family of transceivers.
This library exposes a low level interface for interacting with the Rfm69 family of transceivers with the RP2040 microcontroller. Usage of this library assumes intimate knowledge of your radio's datasheet, and beyond some configuration notes talking about a few specific pain points which I believe are poorly represented in the documentation, I do very little to explain how the Rfm69 transceivers function.
The core of this library is a low level interface with provides a thin level of abstraction over the SPI calls needed to configure the RFM69 family of transceivers.
Low Level Interface Documentation
note: this interface is incomplete and does not provide a helper function for setting/reading all registers, only those that were relevant to me at the time of writing the drivers. I welcome pull requests, and will likely fill in the remaining functionality myself at some point.
This library also exposes a higher level RUDP (Reliable UDP) interface which greatly simplifies usage of the transceiver and provides a more robust protocol with a greater degree of transmission reliability.
Reliable UDP Interface Documentation
note: While the current state of this interface is a bit in flux, it currently works very well. Hopefully it stays that way. Does anyone actually know what they are doing?
low level tx/rx
reliable UDP tx/rx
Notes on Configuring RFM69
RFM69HCW Datasheet
If you need help or have a suggestion/question of any kind, contact me:
emorse@tech.dev