Computing stuff tied to the physical world

Status of the RFM12B

In Hardware on Jun 28, 2013 at 00:01

The RFM12B wireless radio module has been around for quite some time. When I found out about it at the time, I really liked the mix of features it provided – far more capable than the morse-code like OOK modules in cheap sensors, very low power, and available at a considerably lower cost than the XBee and other ZigBee solutions out there:


There was little software for it at the time, and writing an interrupt-driven driver for it was quite a challenge when this all started, but nowadays that’s no longer an issue – the RF12 driver which is now part of JeeLib has turned out to work quite well.

There have been some rumours recently, and understandably also some worries, that the RFM12B might be phased out, but if I may paraphrase Mark Twain on this: the reports of the RFM12B’s death have been greatly exaggerated…

After some email exchanges between HopeRF and Martyn Judd, I’m now happy to report that we have received a formal statement from HopeRF to clarify the issue:

“The popular RFM12B S1/S2 modules remain in production with a large volume of long standing and long term orders. There is NO plan to discontinue the series and NO plan to end production in the foreseeable future. It is correct that we no longer recommend this series to customers developing new projects, since we have developed more recent designs, for example the RFM6X series. These incorporate functionality improvements that can provide a better price/performance for specific applications.”

— Derek Zhu, Marketing Manager, HopeRF

As I see it, this means that the RFM12B will be around for quite some time and that we don’t have to worry about supplies for keeping all current networks based on these modules working. I definitely intend to keep using RFM12B’s at JeeLabs and in products designed and produced by JeeLabs.

Having said that, I’m also evaluating alternatives and looking for a convenient option to act as next step forward. My focus is on low-power consumption and good range for use within the house, both of which I hope to take even further. I’d also like to make sure that over-the-air flashing with JeeBoot will work well with the current as well as future choices.

In my opinion the RFM12B continues to be a simple & excellent low-cost and low-power foundation, so I’m taking my time to very carefully review any new options out there.

  1. I took a look at the RFM6X modules and getting more than 5dBm for outdoor applications sounds exciting. My driveway entrance is ~200m from the house and through a bit of a tree, so I’m not sure I can make the RFM12B go that far without crazy antenna. More power certainly helps. But otherwise not much caught my eye, but I didn’t look in detail.

  2. Is there any reason nobody is using the cc1100 series? I have played around with them and they seem to work pretty well at 433 MHz…

  3. The CC1100 is a more flexible radio than the RFM12B, but as a result a bit more of a pain to program correctly (TI’s register tool is good, but not for beginners).

    Particularly, the CC1110 with an 8051 on board is definitely a better compact solution than the AVR/RFM12B of the JeeNode for OOK or CC11xx to CC11xx networking.

    However, it’s not all roses – no Arduino-style convenience, limited FSK data rates (so I can’t listen to my weather station, which uses a HopeRF chip).

    Other than legacy device interaction, I think the way forwards is Bluetooth Low Energy, as most of the hard work (protocols, power management) is done for you by the software stack.

  4. There’s a brief Hackaday article today about the trusty RFM12B getting a kernel driver for the Raspberry Pi, Beaglebone and Beaglebone Black.

    I’m particularly interested in the Raspberry Pi.

    Code here:

  5. Hi all, little OT: i want to write a firmware that give me the possibility to acquire data from a sensor (DS18b20 for example) with an architecture jeelink – (jeenode micro + sensor) but the difference with the other firmware is that i want to change che time acquisition with a command packet sent from the jeelink. In order to do this i must use OTA (over the air programming)? I am confused about this and i need a little help.


  6. Ciseco sells their XRF modules which are based on the CC1110. They also have developed different firmware(“personalities”) for these, some can directly interface to a DS18B20. The capabilities of the CC1110 sound pretty interesting, having some GPIO capabilities without adding an extra MCU, low-power modes and encryption. They also have published a communications protocol called LLAP for transmitting sensor data and configuring modules over the air.

    • Hi MikeP, is not possible do this with the jeelab hardware?


  7. @Gabriele: Yes, all this is possible with the JeeNode as well (I am not sure that the RFM12B does encryption though, I think not). But as Jean Claude was mentioning looking into alternatives I brought it up. I have a few JeeNodes, but I haven’t worked with the XRF modules yet. With some of the firmware “personalities” available for them, they seem very similar in functionality to what a JeeNode can do , i.e. send temperature data every so often and go to sleep in between.

  8. I disagree about the CC1101. It is easier to program than the RFM12B, it gets better range and sensitivity, has better stability and requires fewer I/O pins. The programming interface is much more flexible. TI’s tool makes it easy to set up. They consume less power too. Could probably even talk to an RFM12B.

    I think that a few years ago there were not any cheap CC1101 modules available. Now that there are there is little reason to choose the RFM12B over them. We evaluated both at work in a demanding application (underground in what amounts to a metal box) and the CC1101 was vastly superior in every respect.

    • Do you know of an inexpensive CC1101 module that works well at 915 MHz? 99% of the modules I’ve seen are RF1100SEs that only work decently at 433 MHz.

  9. Actually, the rumours about the RFM end of life triggered Ciseco toi make an XRF variant with RFM12 pin compatibility! Forgot the name, but it’s in their shop.

  10. What about using nrf24l01 module, What you think about it ? It works in 2.4GHz band and you can find at a verry low price compared to the RFM12B. I don’t know about current consumption but it seems to be interresing. one of the main problem is that it consumes more IO than the RFM12B version (3 more)

Comments are closed.