Skip to main content

RFbee V1.1 - Wireless Arduino compatible node

The RFBee is a RF module providing easy and flexible wireless data transmission between devices. It is based on a AVR ATmega168 working as a fully functional Arduino connected via SPI to a TI CC1101 RF transceiver.

Version Tracker

v1.0Initial releaseMar 05, 2010
v1.1Revised releaseAug 27, 2010
v1.2Change MCU to ATmega328Oct 10, 2015


  • Range: Indoor/Urban: up to 50m; Outdoor line-of-sight: up to 120m;
  • Receiver Sensitivity: -95dBm
  • RF Data Transmission Rate: 4,800bps; 76,800bps
  • Working Frequency : 868MHz & 915MHz
  • Communication type: Point to Point, or Point to Multipoint.
  • Easy-to-Use Serial Interface and rich extendable ports
  • Easy-to-Use AT Command: Set working mode, Serial Baud Rate, etc.
  • Open source Hardware and Firmware
  • Socket compatible with the Xbee, so you can plug it into any Xbee socket as a quick replacement.


Only the Rx,Tx, VCC, GND pins are identical to the Xbee. RFbee’s will not communicate with Xbee’s, so RFbee’s need to be used on both ends of the wireless connection.

Application Ideas

  • Powerful RF control
  • Easy to implement of WSN (Wireless Sensor Network)


MicroprocessorATmega168(Version < V1.2), ATmega328(Version >= 1.2)
PCB size24.38mmx32.94mmx0.8mm
Power supply3.3V
IO counts9
ADC input7(6 multiplexing with IO)
Program interfaceUSB
ConnectivitySocket compatible with XBee
Communication ProtocolUart(TTL)
Operating Frequency BandISM 868MHz & 915MHz
Outline Dimension24.38mmx32.94mmx15mm

Electrical Characteristics

Input voltage3.03.33.6VDC
Transmit Current34.5mA
Receive Current18.1mA
Idle Current5.2mA
Power-down Current<0.3mA
Operating Temperature-50125°C

Hardware Overview

Pin#Pad TypeDescriptionArduino Pin Number
3V31Supply inputVCC, +3.3V-
TX2OutputUart Tx port1(DIO)
RX3InputUart Rx port0(DIO)
PD44Input/OutputATmega168 PD44(DIO)
 !RESET5InputATmega168 Reset port
PB16Input/OutputATmega168 PB19(DIO)
PB07Input/OutputATmega168 PB08(DIO)
PD78Input/OutputATmega168 PD77(DIO)
 DTR9InputUsed for programming the ATmega168-
PC311Input/OutputATmega168 PC33(Analog input)/17(DIO)
PC212Input/OutputATmega168 PC22(Analog input)/16(DIO)
PC113Input/OutputATmega168 PC11(Analog input)/15(DIO)
VREF14InputATmega168 AREF port-
PC015Input/OutputATmega168 PC00(Analog input)/14(DIO)
ADC716InputATmega168 ADC77(Analog input)
PD517Input/OutputATmega168 PD55(DIO)
PD618Input/OutputATmega168 PD66(DIO)
PC519Input/OutputATmega168 PC55(Analog input)/19(DIO)
PC420Input/OutputATmega168 PC44(Analog input)/18(DIO)


Hardware Installation

The RFBee can be connected in various ways, e.g.:

  • to a PC via USB using a UartSB device.
  • to a Seeeduino (or Arduino) via an XbeeShield.
  • to any other device having a Uart port.


The UartSBee device and the XbeeShield are sold separately.

Figure 1: USB using UartSBee (The following picture's demonstrated with older version UartSBee)

Figure 2: Seeduino via XbeeShield (Version 1)

Any device using a Uart


Here is a tutorial on how to use a RFBee transceiver from with a RF Explorer Spectrum Analyzer from

RFBee monitored by RF Explorer

The RFBee is a nice device which accepts some simple AT ASCII command strings to do some basic configuration. An ideal tool to experiment with digital RF transmission.

This example code is in the public domain and available here and tested in Arduino IDE v0022.


You may use a Seeeduino Stalker v02b to host the RFBee. Just plug the RFBee into the XBee slot. You also need a way to connect your Stalker to your PC to upload the sketch, I personally used a CP2102 USB bridge, you can use other USB bridges including the UartSBee recommended by Seeed.

Alternatively, you can do the same with an Arduino compatible board but will have to connect the RFBee with RX/TX of the CPU using a XBee 2mm connector, which may not be easy to get at your local shop.

Finally, you will need two jumper cables to connect Stalker port 2 to GND and port 3 and GND. We will use them as simple switches to configure the RFBee in different ways. Feel free to check the trivial sketch code to better understand how it works, and make your own changes.

Some familiarity with RFExplorer and RFBee user manual is required, otherwise some steps may not be obvious to you.

Set RFBee to work

After you upload the script in the Stalker, power off the unit completely so both ATMegas (Stalker's and RFBee's) resets at the same time and you start from a clean state.

Power the unit back, it will start transmission after Stalker led blinks 6 times.

RFExplorer will show received power and frequency. Play with antenna orientation till you get the best power response. In this tutorial we will use RFBee in 915Mhz, but equivalent results will be obtained in the 868Mhz. Take a look in the sketch code and uncomment the couple of lines coded for 868Mhz if your RF Explorer is in that band.

More details, please visit


How to update firmware

You can update the RFbee firmware using the Arduino IDE using the procedure below. This procedure assumes the use of UartSB as this is the easiest way to connect a RFBee to a PC, see the section on Hardware installation for different ways to connect.

  1. Connect your RFBee to UartSB, move switches to XBee and 3.3v, then connect it to your computer through a USB cable.
  2. Download the source code of the RFBee firmware into your Arduino sketch folder
  3. Open the Arduino IDE and open the RFBee_vx_x project. Then select Tools->Board->Arduino Pro or Pro Mini (3.3v, 8MHz) w/ATmega168 (ATmega328 when version >= V1.2). Choose the correct serial port from the Tools menu. You can now upload your RFBee firmware.
  4. Reapply the configuration changes in the RFBee if they got lost during the update.
  5. You could add or modify the firmware upon your demands, as the RFBee is able to work standalone as an Arduino.

RFBee firmware:

Schematic Online Viewer


Tech Support & Product Discussion

Thank you for choosing our products! We are here to provide you with different support to ensure that your experience with our products is as smooth as possible. We offer several communication channels to cater to different preferences and needs.

Loading Comments...