RFM12B – Part 1 – Hardware Overview

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


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


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


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


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

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:

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top