Skip to content
RFM12B library
Branch: master
Clone or download
Latest commit b1ff989 Apr 4, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
Examples Merge pull request #12 from iverona/master Apr 1, 2018 Update Apr 4, 2018
RFM12B.cpp Bug fixes, refactoring Jun 16, 2013
RFM12B.h Bug fixes, refactoring Jun 16, 2013
RFM12B_AIR_KBPS_Calculator.xlsx Add RFM12B air Kbps table Feb 8, 2013
keywords.txt Create keywords.txt Dec 27, 2012
library.json PlatformIO Library Registry manifest file Nov 28, 2014

NOTE: not actively maintained

This library is not actively maintained anymore but is kept for reference and can still be used with RFM12b transceivers.

RFM12B Library

By Felix Rusu (
Based on the RFM12 driver from (2009-02-09


  • easy API with a few simple functions for basic usage
  • 127 possible nodes on 256 possible networks
  • 128 bytes max message length
  • customizable transmit power (8 levels) for low-power transmission control
  • customizable air-Kbps rate allows fine tuning the transmission reliability vs speed (transmitting slower is more reliable but takes more time which implies more power usage)
  • Sleep/Wakeup functionality for power saving
  • Low battery detector with customizable low voltage threshold
  • Interrupt driven
  • Support for targeted ACK instead of broadcasted ACK (possible because of the new source byte in the header) encryption with XXTEA algorithm by David Wheeler, adapted from Support for these chips: ATMega8 family (ATmega168, ATMega328) ATMega2560, ATMega1280, ATMega644P, ATTiny84, ATTiny44, ATMega32u4. So far only tested on ATMega 328/P
  • wireless programming (for more info click here, here and here)
  • the library needed for wireless programming is now here, install it in your Arduino/libraries folder (WirelessHEX for RFM12B)


Copy the content of this library in the "Arduino/libraries/RFM12B" folder.
To find your Arduino folder go to File>Preferences in the Arduino IDE.
See this tutorial on Arduino libraries.

Saple usage

TODOs (in order of priority):

  • Support automatic ACK handling
  • Refactor changing the SPI CS signal
  • Add support for hosting multiple radios on 1 MCU
You can’t perform that action at this time.