Martin's corner on the web

Using RFM69CW instead of RFM12B

The rumors for RFM12B’s end-of-life two years ago seem to have been highly exaggerated now and the popular RF module is still available in abundance. HopeRF has introduced a pin-compatible upgrade, the RFM69CW. The module itself offers improved sensitivity and range compared to the RFM12B (+30%) at the cost of increased power consumption, making it probably a good choice for the receiving end (RFM2Pi), and probably less suited for low power battery operated nodes. The new module supports RSSI for those interested in measuring it.



The new module is more power hungry, and simply replacing a RFM12B on the RFM2Pi v2 or a Funky v3 with it didn’t work; The boards browned out so I had to swap  C4 and C7 on the RFM2Pi with 10uF caps and populate the 0805 10uF on Funky v3’s boost regulator circuitry to get it to work. I’ll ship the boards with these refinements from now on so that they are compatible with both the RFM12B and RFM69CW.

JCW’s jeelib has support for the RFM69CW and the library is compatible with the RFM12B just by adding a simple define before including jeelib.h:

#define RF69_COMPAT 1 // define this to use the RF69 driver i.s.o. RF12

The library had couple bugs that prevented Funky v3 ‘s ATMega32u4 MCU to work with the RFM12B and RFM69CW, those are now fixed and JCW incorporated them into jeelib with this and this commit; Make sure to grab the latest version if using with Funky v3.

As conclusion, should you switch to RFM69 or stick with the RFM12B? I’d say unless you have some range issues, keep the RFM12B. It is more stable in terms of library maturity and has better power footprint.




2 thoughts on “Using RFM69CW instead of RFM12B

  1. pescadito

    hi, good!
    and nice have yours news about it!
    some years ago you post some code,
    now, do you know any current attiny85 library capable of support rfm69 or 12?

  2. Pingback: Funky v3 with RFM69CW using LowPowerLab’s RF69 library | Martin's corner on the web