From Wiki for Dragino Project
Jump to: navigation, search


Wireless Transfer Module - RFM12B Compatible: MRFM12B

MRFM12B is a plug in module for ms12 and ms14. It uses HopeRF RFM12B for wireless transfer and ATMEL ATMEGA168 MCU for data processing.

With the MRFM12B installed, Dragino ms12 / ms14 can work as a IoT gateway to bridge the 433/868/915Mhz network and the IP network.

Block Diagram

MRFM12B Block Diagram
#1 Connector to ms12/ms14. 
#2 atmega168 hardware SPI to ms12/ms14
#3 atmega168 UART to ms12/ms14
#4 atmega168 software SPI to RFM12B wireless module
#5 Antenna for 434 , 868 or 915Mhz
#6 UART debug switch.


  • Open source software & hardware
  • Compatible with ms12 and ms14
  • MCU: Atmel MEGA168
  • Wireless module: RFM12B
  • Wireless frequency: 433, 868 or 915 MHz
  • Arduino IDE compatible
  • Use modified RFM12B library from Jeelabs.
  • With I-Pex connector for external high gain antenna
  • Remote upgrade

Coding note

mrfm12b is compatible with Arduino IDE. The general coding for mrfm12b are same as other arduino boards with below points should be aware:

  • Board Type is: Arduino Diecimila or Duemilanove w/ ATmega168
  • Use DR_RF12 for rfm12b driver.
  • Program Upload Instruction is here.
  • Take care of the handling of PC0 and UART coding as mentioned in the troubleshooting


Hardware / Software Source


Eagle Files v1.1

DR_RF12 Arduino Compatible Libraries

Trouble Shooting

Dragino won't boot with MRFM12B installed

If ms12/ms14 boot without MRFM12B but can't boot with the MRFM12B, then below points should be checked

  • COLD_RESET. Whether you have provided a reset signal on cold reset pin ( PC0 in avr). Dragino will be on reset state if there is reset signal on this pin.
  • UART Setting. ms12/ms14 booting process can be interrupted by UART port in early stage. so when coding the mrfm12b, user should consider to add a 8~10 seconds delay on set up. This issue can be checked by turn the debug switch to "ON". If debug switch is "ON", the uart port of avr are connected to the 1 x 6 pin header and disconnect from 2x8 router connector.

Ordering Info

Part No Description
MRFM12B-433 Works for 433Mhz Frequency Band
MRFM12B-868 Works for 868Mhz Frequency Band
MRFM12B-915 Works for 915Mhz Frequency Band

Reference Link

RFM12B official website

Original RF12.h library and documents from Jeelabs

another RFM12 library can be used in MRFM12B