SparkFun will be closed Nov 26th and 27th for the Thanksgiving holiday. Orders placed after 2:00pm MT on the 25th will ship out Monday the 30th.

Export Restrictions

This product has some level of export control/restriction, so may be delayed by 2-3 business days when shipping outside the United States. Contact us with questions, or we will contact you after you place your order.

Creative Commons images are CC BY-NC-SA 3.0

Description: The RFM12B is a great inexpensive option for wireless communication; it’s an ISM band FSK transceiver module implemented with a unique PLL. These modules operate in the 915MHZ band and fully comply with FCC and ETSI regulations.

This module has a wide voltage supply range of 2.2-3.8VDC. An SPI interface is used to send data and configure the RFM12 module. The configuration commands, described in the RF12 IC Datasheet linked below, can be used to set the data rate, frequency band, wake-up timer, transfer data, receive data from the 16-bit FIFO, and much more.

The module comes in a 14-pin SMD package, with pins spaced by 2mm. Check below for a breakout board.


  • Low-cost, high-performance
  • SPI compatible interface
  • High data rate (up to 115.2 kbps in digital mode)
  • Wakeup timer
  • 2.2V-3.8V power supply
  • Analog and digital RSSI outputs
  • Differential antenna input
  • Automatic antenna tuning
  • 16-bit RX data FIFO
  • PLL and zero IF technology
  • Fast PLL lock time
  • High resolution PLL with 2.5KHz step
  • Programmable TX frequency deviation (from 15 to 240 kHz)
  • Programmable receiver bandwidth (from 67 to 400 kHz)
  • Analog and digital signal strength indicator
  • Internal data filtering and clock recovery
  • Clock and reset signal output for external MCU use
  • 10MHz crystal for PLL timing

Dimensions: 15.9 x 16.1 mm (0.626 x 0.634 in)


Recommended Products

Customer Comments

  • If anyone is interested, I posted this on the 433MHz RFM12B product page too, I got some breakout boards for these modules (the 433MHz ones in my case) from here:

    RFM12B Breakout Board solder yourself: http://modtronicsaustralia.com/shop/rfm12b-breakout-board-bare-pcb-rf-wireless-module/

    RFM12B Breakout Board with soldered module: http://modtronicsaustralia.com/shop/rfm12b-breakout-board-wireless-module/

  • If anyone is interested turnkey solution of 433MHz, pls check this link; http://www.appconwireless.com/PRODUCTS/showproduct.php?lang=en&id=7

  • Any chance of having the 868MHz version here in the future?

  • Could a pair of these be used to make a remote connection for an I2C interface? I want to link a temperature sensor with an I2C interface to an Arduino.

    • Been there, done that with an 8051 system, the catch isnt frequency, its loss of shape of the digital pulses. They have to be received reasonably clean and square.

      Should work if the i2C data rate is “slow” See:


      The above site states three data rates, the slowest is 100 Kb. That is less than the 115.2 Kb rate claimed in the ad.

      For a temp sensor, theres no need for a high speed bus, the sensor itself can probably only respond on the order of 1/10 th second.

      if youre unsure of the data rate, look at the clock speed.

      Use an oscilloscope to verify received pulses, there’s only so much rounding of the pulses that can be tolerated and still have valid zeros and ones to a data system.

  • Some might be interested in my test results with the RF12B on 915 MHz. I took two units, and using solderless breadboards (and some “split” jumpers, since the RF12Bs are 2mm and the breadboards are 2.56mm), set one of them up using an Arduino R3, and the other (on a separate breadboard) with a 3.3V proMini. The latter one also used an Adafruit 727 3xAAA battery holder (with 3 Duracells) and 1862 JST breakout to provide portable power, and a couple of LEDs as indicators. The portable unit was in a plastic pencil box for ease of handling and a little protection.

    I modified the Jeelabs RF12demo program for each of the units. The R3 looks for a message from the other unit, and if it contains 4 bytes, it changes the order of the bytes and sends it back. The microPro about every 2.5 seconds creates 4 random bytes, sends them to the R3, then looks for the return message and if it gets it, checks to see that the modified-order bytes is what is expected based on what it sent. An indication of success/failure is presented on the LEDs.

    The antennas are approximately 78mm of 22ga wire oriented more-or-less vertically.

    Throughout my home, I was able to consistently get a good signal on the proMini unit. I took it outside and in some places, even within feet of the outside wall, was unable to get a “good” indication. However in other places, I was able to get a “good” indication about 150 feet (call it 45m) away from the R3 unit with two block walls between the two units! This was spotty, though, and when I’d move a couple of feet, the signal would disappear. So, “your mileage may vary WILDLY” with these.

    I expect that these will work well for my intended use (remote sensors), though I’m going to include in the programming verification of data integrity and the ability to do “retries”. (I have another project in mind that if I proceed with it I’ll try the RFM-22 boards.)

  • Long range low power TRX modules are available now. http://www.hoperf.com/rf/lora/778.htm

  • If this transceiver was on the same frequency range (915Mhz), could it communicate with the RFM22B with little or no differencre from communicating with it’s “own kind” - or vise versa?

    I am wondering because I have some sensors in a sensor network that could use the shorter range rfm12b, but others that need the longer range rfm22b (Which is twice as expensive and something that I would like to avoid using on all the boards if possible)

    If anyone can help / point me in the right direction, Thanks

  • What type/length of antenna is anyone using (that seems to work?)

  • what is the line of sight range on these modules?, also, how well do they work indoors?

  • Could this module be used for transmitting an encoded bitstream to say, a speaker? The bitstream bitrate would be around 128kbps. The speaker would have a receiver, a bitstream decoder, and an amp. I’m thinking DIY wireless surround speakers. The wireless speakers could number to up to 4. Would that mean that I need to get four different frequency wireless modules for the speakers and 4 more for the transmitter?

  • These are great wireless modules. For an alternate Arduino library and development platform, see the JeeLabs website. My ColorNode board can also be used as a simple breakout board for this module and is based off of the JeeNode. The design is shared on OSHPark.

Customer Reviews

4 out of 5

Based on 2 ratings:

5 star
4 star
3 star
2 star
1 star

1 of 1 found this helpful:

Does not have .1" pin spacing

And that make’s it really hard to prototype. I soldered really thin wires to male dip headers so that I could wire it up. SInce that took a few hours I have yet to power it up.

Works great!

You can buy them for $3.50 direct from the manufacturer…if you don’t mind waiting for the shipping from China. Great product though and I have used both the 915mhz and 433mhz.