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.
|v1.0||Initial release||Mar 05, 2010|
|v1.1||Revised release||Aug 27, 2010|
|v1.2||Change MCU to ATmega328||Oct 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.
NoteOnly 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.
- Powerful RF control
- Easy to implement of WSN (Wireless Sensor Network)
|Microprocessor||ATmega168(Version < V1.2), ATmega328(Version >= 1.2)|
|ADC input||7(6 multiplexing with IO)|
|Connectivity||Socket compatible with XBee|
|Operating Frequency Band||ISM 868MHz & 915MHz|
|Pin||#||Pad Type||Description||Arduino Pin Number|
|3V3||1||Supply input||VCC, +3.3V||-|
|TX||2||Output||Uart Tx port||1(DIO)|
|RX||3||Input||Uart Rx port||0(DIO)|
|!RESET||5||Input||ATmega168 Reset port|
|DTR||9||Input||Used for programming the ATmega168||-|
|PC3||11||Input/Output||ATmega168 PC3||3(Analog input)/17(DIO)|
|PC2||12||Input/Output||ATmega168 PC2||2(Analog input)/16(DIO)|
|PC1||13||Input/Output||ATmega168 PC1||1(Analog input)/15(DIO)|
|VREF||14||Input||ATmega168 AREF port||-|
|PC0||15||Input/Output||ATmega168 PC0||0(Analog input)/14(DIO)|
|ADC7||16||Input||ATmega168 ADC7||7(Analog input)|
|PC5||19||Input/Output||ATmega168 PC5||5(Analog input)/19(DIO)|
|PC4||20||Input/Output||ATmega168 PC4||4(Analog input)/18(DIO)|
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.
NoteThe 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¶
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 micro.arocholl.com.
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.
- Connect your RFBee to UartSB, move switches to XBee and 3.3v, then connect it to your computer through a USB cable.
- Download the source code of the RFBee firmware into your Arduino sketch folder
- 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.
- Reapply the configuration changes in the RFBee if they got lost during the update.
- You could add or modify the firmware upon your demands, as the RFBee is able to work standalone as an Arduino.
RFBee firmware: http://code.google.com/p/rfbee/downloads/list
- RFBee User Manual
- RFbee firmware for Arduino 1.0
- RFbee firmware 1.1 (latest)
- Schematic and layout in EAGLE file