README.md

RFM69 Library

By Felix Rusu, LowPowerLab.com
RFM69 library for RFM69W, RFM69HW, RFM69CW, RFM69HCW (semtech SX1231, SX1231H)
The latest examples, new features and bug fixes are found in the original repository of this library.

License

GPL 3.0, please see the License.txt file for details. Be sure to include the same license with any fork or redistribution of this library.

Blog writeup

Why RFM69

I have spent a lot of time developing this library for RFM69W/HW transceivers. I made it open source because I believe a lot of people can benefit from this new powerful transceiver. I hope others will also contribute and build on my work

I have long researched alternative transceivers for RFM12B which is still an excellent transceiver but it is much lower output power and has limited built in features which need to be implemented in firmware (PREAMBLE, SYNC, CRC, packet engine, encryption etc).

I wanted a transceiver that could still be very small, easy to use, and have the longer range that I needed

RFM69 comes in 2 variants that have the same pinout layout: RFM69W (13dBm, 45mA TX) and RFM69HW (20dBm, 130mA TX). Other variants include the RFM69CW (up to 13dBm power) which is pin compatible with RFM12B, and RFM69HCW (20dBm output power).

RFM69W range and antennas

I have tested open-air range on these transceivers in various combinations.

I am happy to say that a range of upwards of 350m can be achieved with the default settings provided in the library. Some users reported upwards of 500m by lowering the bitrate, and a forum user reported 1.5miles at 1.2Kbps: see this forum post and this blog page

The caveat with these higher RF power units is that they need more DC power when they transmit. For battery powered motes, you will need to keep them powered down and only transmit periodically. Use the sleep() function to put the radios in low power mode and use the LowPower or Narcoleptic libraries to power down your Moteino/Arduino