So far with both the emonPi and the rfm69pi boards, we’ve interfaced with the RFM69cw radio module via a microcontroller in the middle. Others have however taken a different and simpler approach of linking the Pi to the RFM69cw module directly e.g: rpi-rfm69 · PyPI (wrapper for the low power labs library)
With our in progress shift away from using the JeeLib library towards using hardware buffering and a native packet format, the code for reading packets from the module is also much simplified… or at least I’ve finally been able to get my head around it, thanks in large part to @Robert.Wall for extracting just the bare minimal code required.
I’ve now ported the code that I had recently ported to the AVR-DB microcontrollers into an EmonHub interfacer that can read from the RFM69cw module via SPI directly and it seems to work well. I had made a little PCB to test this a while back, it’s only an RFM69cw module with one capacitor and one resistor:
Here’s the emonhub interfacer code for anyone interested:
Comparing master...rfm69_spi_pi · openenergymonitor/emonhub · GitHub
The intention is to use this direct approach in the next emonPi v2 board so that we can shift the radio overhead off the AVR chip and it may provide more flexibility and options for making the most of the RFM chip.