Static avr-libc library providing basic support for RFM95 radio modules

@Torsten Römer Torsten Römer authored on 1 Apr
GitHub committed on 1 Apr
nbproject Some improvements & fixes (#1) 12 months ago
.gitignore Fix build and Makefile 1 year ago
CODE_OF_CONDUCT.md Initial commit 1 year ago
LICENSE Initial commit 1 year ago
Makefile Try to make device and CPU frequency independent 1 year ago
README.md Some improvements & fixes (#1) 12 months ago
librfm.c Some improvements & fixes (#1) 12 months ago
librfm.h Some improvements & fixes (#1) 12 months ago
utils.h Initial commit 1 year ago
README.md

librfm

About

Static avr-libc library providing basic support for RFM95 radio modules. Other RFM9x radios might work as well, but were not tested yet.

This is work in progress. Simple Tx-Rx with response in FSK mode works so far.

I'm impressed how well these radio modules work; the range achieved with simple wire antennas as well as the reliable packet transmission.

TODO

  • Add support for LoRa mode

Usage

  1. Include librfm.h and librfm.a in the project
  2. Implement the _rfm* functions in librfm.h in the application (this is to make the library device and CPU frequency independent)
  3. Route interrupts occurring on DIO0 and DIO4 to rfmIrq()

Range

Setting RegPaConfig to 0xff, which gives +17 dBm with PA_BOOST, indoor range is very good and in an actual "field" test, packet reception was still reliable with an RSSI of about -125 dBm at almost 2.7 km distance - with simple wire antennas. What would be the range with +20 dBm and decent antennas?