Home > Ideas > Radio Project Ideas > RFM12B – Part 1 – Hardware Overview

RFM12B – Part 1 – Hardware Overview

Summary of RFM12B – Part 1 – Hardware Overview


The RFM12B is a low-cost Hope RF transceiver offering up to 300m range and 115Kbps speed across ISM bands (433, 868, 915 MHz). It supports SPI interfaces, operates at 2.2-3.8V with ultra-low power consumption, and allows networks of up to 30 nodes. The article details hardware identification via capacitors, specific antenna length calculations for different frequencies, and software integration using Arduino libraries from JeeLabs and OpenEnergyMonitor.

Parts used in the RFM12B Wireless Project:

  • RFM12B wireless transceiver module
  • SPI interface microcontroller (e.g., Atmega328 or ATmega32U4)
  • Capacitor (for frequency identification)
  • Antenna (cut to specific wavelengths)
  • Arduino Leonardo board (optional alternative)
  • RFM12 Arduino library (JeeLib)
  • OpenEnergyMonitor code example

To see how RFM12B wireless compares to other similar wireless options (e.g Xbee, XRF etc..) check out this well compiled comparison overview by Stuart Poulton: http://blog.homelabs.org.uk/wireless-connectivity/.

RFM12B - Part 1 - Hardware Overview

Overview

Made by Hope RF, re-branded by RFsolutions in the UK. Sometimes called ‘Alpha RF’

Low cost RF transceiver (from Rapid, Farnell, or RS in the UK)

Up to 300m transmission

Up to 115Kbps

Up to 30 nodes per network*

Up to 250 different network groups

3 different ISM band frequencies: 433MHz (worldwide), 868MHz (Europe), 915MHz (USA & Australia only) . Note: frequency of a module is set in software, for best performance the frequency set should match the intended hardware frequency of the module.

*node ID’s can be 0-31 with 1-30 used for normal use.

ID 31 is special as it can communicate with nodes on any network and ID 0 is reserved for OOK use

Hardware

SPI interface

2.2-3.8V supply voltage

Low power – 0.3µA standby current

Datasheet: http://www.hoperf.com/pro/rf/cob/RFM12B.htm

Identifying the frequency of your module

Includes additional capacitor = 433 MHz

Missing capactior = 868 MHz

Antenna

433 1/4 wave = 164.7mm
433 1/2 wave = 329.4mm
433 full wave = 692.7mm

868 1/4 wave = 82.2mm
868 1/2 wave = 164.3mm
868 full wave = 345.5mm

915 1/4 wave = 77.9mm
915 1/2 wave = 155.9mm
915 full wave = 327.8mm

Credit to Michael Margolis from Arduino Cookbook for Arduino connection diagram.

Alternative connection diagram (only for when Atmega328 is running at 3.3V):

Update: Arduino Leonardo (ATmega32U4) requires different connections. See this blog post for details.

RFM12B - Part 1 - Hardware Overview

Software

Code example: https://github.com/openenergymonitor/RFM12B_Simple

RFM12 Arduino library from JeeLabs: https://github.com/jcw/jeelib – credit to JCW for this great work

See this post by JCW describing the Nodes, Addresses and operation of the JeeLib RFM12 Arduino Library: http://jeelabs.org/2011/01/14/nodes-addresses-and-interference/ 

JeeLib library reference: http://jeelabs.net/pub/docs/jeelib/RF12_8cpp.html

 

For more detail: RFM12B – Part 1 – Hardware Overview

Quick Solutions to Questions related to RFM12B Wireless Project:

  • What are the available frequency bands for the RFM12B?
    The module supports three ISM band frequencies: 433MHz worldwide, 868MHz in Europe, and 915MHz in USA and Australia.
  • How can I identify the frequency of my RFM12B module?
    An additional capacitor indicates a 433 MHz module, while a missing capacitor indicates an 868 MHz module.
  • What is the maximum transmission distance of the RFM12B?
    The module offers up to 300 meters of transmission range.
  • Can the RFM12B support multiple network groups?
    Yes, it supports up to 250 different network groups with up to 30 nodes per network.
  • Does the RFM12B require a specific voltage supply?
    The hardware requires a supply voltage between 2.2V and 3.8V.
  • Which library is recommended for Arduino integration?
    The article recommends the RFM12 Arduino library from JeeLabs and provides examples from OpenEnergyMonitor.
  • Are there different connection requirements for the Arduino Leonardo?
    Yes, the Arduino Leonardo requires different connections compared to the standard Atmega328 setup.
  • What is the standby current consumption of the device?
    The module features low power consumption with a standby current of 0.3µA.

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter
Scroll to Top