Manuals, Timing, Ham Radio, Test Equipment

Help keep this site free:
(More Info)
        

RFM69 Based Radio Module

In many of my projects, I have been using DiGi's XBee radio modules. They are convenient (simple UART interface), have good performance (depending on which model you buy) and are reasonably priced.

For long range, my preference has been with the 900MHz long range models which can give up to several miles of range in clear terrain, and half a mile in the city, with modest antennas.

Maybe related to COVID, availability of the 900MHz modules has not been good in recent years. Another potential issue is cohabitation. The default firmware for those modules uses spread spectrum, which is great to avoid interference from usual appliances that may use the unlicensed 900MHz spectrum. The modules can be configured for one of 8 hoping patterns, so you can have up to 8 independent systems (or networks) operating in the same area with negligible interference. However, if you want more than 8 networks operating in the same area, they will have to share the same hoping pattern and they may interfere with each other. For infrequent (low duty cycle applications,) like reading a water meter that may be just fine, but for interactive applications where low latency is expected, that can be a problem.

For those applications, a more conventional radio using narrow band FSK may be appropriate. 

The RFM69 module uses FSK and a common Arduino library for the RFM69 module uses 100kHz shift keying, which allows more than 50 separate and independent channels (500kHz pacing) in the 902-928MHz ISM band.

But the RFM69 has an SPI interface that requires a bit of involvement from the host CPU to configure the chip at power up, check for received messages and ensure that messages to be transmitted are properly handled, not nearly as easy and "transparent" as the XBee's serial interface.

If you just want to add a radio to an existing Arduino project, you can go that route as described in this page.

But if you want to make an XBee "look-alike" module with an RFM69 radio, you do not need much more than a relatively low power microcontroller.

Enter the X-RFM69:

In its current incarnation, the radio module supports 9600 baud communications over 1 out of 50 channels in the 902-928 MHz band. A Silabs C8051F860 microcontroller is used to handle the SPI port required by the RFM69 module at one end, and provide a 9600 bauds UART interface at the other end.

The module supports a command mode similar to the XBee's allowing to read and change the channel's center frequency and to get the module's firmware version.

An LED flashes at power up and indicates the presence of compatible traffic on the assigned frequency.

With a half wave antenna at each end, a range of half a mile is readily achievable in open air.

The module runs from 3.3V and has low power consumption.

This page will be completed as I document in more details the hardware and firmware features.