Skip to main content

Grove - Serial RF Pro

Grove-Serial RF Pro is a low cost, high performance transparent FSK transceiver with operating at 433/470/868/915 MHz, and the best performance is at 433M(Default). There is a UART interface that is easy to realize the wireless data transmission with only providing the UART data. It is flexible for the users to set the UART baud rate, frequency, output power, data rate, frequency deviation, receiving bandwidth etc parameters. It is your ideal choice for designing wireless data transmission products which can be widely used on wireless data transmission field.

Version Tracker

Revision Descriptions Release
v0.9b Initial public release NA

Features


  • Grove compatible
  • High output power
  • High output power
  • Small size
  • Longer transmission distance

Application Ideas


  • Remote control, remote measurement system
  • Wireless meter
  • Access control
  • Identification system
  • Data collection
  • IT household appliance
  • Baby monitoring system

Specification


Item Min Typical Max Unit
Working Voltage 4.75 5.0 5.25 VDC
Current at sleep mode 1 uA
output power 1 - 20 dB
Communication Speed 1.2 - 115.2 Kbps
Transmission Distance(Max) 1 Km
Sensitivity -117 dBm
Communication Protocol UART /
Operate Temperature -40 - +85

Interface Function


Pad Type (5V Logic level) Description
G(GND) Ground port
EN(ENABLE) Set low for normal mode as data transceiver (Default is low with 10k to GND). Set high to put into sleep mode.
CON(CONFIG) Set low for configuration mode (connect to GND). Set high for communication (Default is high).
RX UART Data input
TX UART Data output
V(VCC) Designed for 5V(+)supply
AT Antenna pin

Getting Started


Here we show two RF Pro Grove units mutually transmitting/receiving data. You need two RF Pro Grove units and two Seeeduino to do the demo.

  • Connect one Grove - Serial RF Pro to UART of Grove - Base Shield and plug Grove - Base Shield into Seeeduino.

  • Connect another Grove - Serial RF Pro to Seeeduino using the same method.

Config and Inquiry methods

The module will be ready for Config status if ENABLE pin is low, CONFIG pin is low. It will be in Config if the red and green LED keep lighting. Then you can Config & inquiry on the module.

  • Connect CON pin to LOW/GND to enter configure mode.

  • Send command to modify and query the config of the module. Config & Inquiry instruction description see Reference.

The Config instruction format is as AA+FA+[instruction]+[parameter]. The instruction is 1 byte, the parameter is the HEX data of 0-4 bytes (in big-endian ordering, with the high byte before the low byte).

Note:

1) Do remember the UART transfer speed (default is 9600, better not change) if you make some change, or you won't be able to control the module. The instruction’s transfer speed will change accordingly if changes the transfer speed of UART. The range of transfer speed of the instruction is from 1.2Kbps – 115.2K bps.

2) LED Function Description:

  • The red and green LED will flash when there is power and the module is working.
  • The module will be ready for configuration mode if EN(ENABLE) pin is low(default is low),CON(Config) pin is low. When in configuration mode, the red and green LED will both be solidly lit. - The green and red LED will not be solidly lit if the module is not in configuration mode.
  • The red LED flash when the module is transmitting, the red LED will be off when the transmission is finished.
  • The green LED is off when the module is waiting for data to be received, the green LED will flash once when the module receives data.

Communication Mode

Upload the below code into Seeeduino, Please click here if you do not know how to upload.

//send data routine

// link between the computer and the SoftSerial Shield
//at 9600 bps 8-N-1
//Computer is connected to Hardware UART
//SoftSerial Shield is connected to the Software UART:D2&D3

#include <SoftwareSerial.h>

SoftwareSerial SoftSerial(11, 10); // TX, RX
int buffer[64];
int count=0;
void setup()
{
SoftSerial.begin(9600); // the SoftSerial baud rate
Serial.begin(9600); // the Serial port of Arduino baud rate.

}

void loop()
{
delay(1000);
SoftSerial.write(0xAA);
SoftSerial.write(0xFA);
SoftSerial.write(0xE1);

if (SoftSerial.available()) // if date is coming from software serial port ==> data is coming from SoftSerial shield
{
while(SoftSerial.available()) // reading data into char array
{
buffer[count++]=SoftSerial.read(); // writing data into array
if(count == 64)break;
}
for (int i=0; i<count; i++) {
Serial.print(buffer[i],HEX); // if no data transmission ends, write buffer to hardware serial port
}
clearBufferArray(); // call clearBufferArray function to clear the stored data from the array
count = 0; // set counter of while loop to zero
}
if (Serial.available()) // if data is available on hardware serial port ==> data is coming from PC or notebook
SoftSerial.write(Serial.read()); // write it to the SoftSerial shield
Serial.println("...");
}
void clearBufferArray() // function to clear buffer array
{
for (int i=0; i<count;i++)
{ buffer[i]=NULL;} // clear all index of array with command NULL
}
  • You can see as show below after open serial monitor.

Reference


The following table lists the commands and responses involved in interacting with Serial RF Pro v0.9b.

Instruction(HEX)DescriptionConfig instruction(HEX)Return Value
F0Reset to default parameters (except UART transfer speed), no parameter followsAA FA F04F 4B 0D 0A (OK /r/n)
E1Reading the current Config parameter, no parameter followsAA FA E116 bytes: (**following the order below**)
working frequency-4 bytes,
wireless data rate-4 bytes,
receiving bandwidth-2 bytes,
frequency deviation-1 byte,
transmission power-1 byte,
UART transfer speed-4 bytes
D2Set up working frequency,[parameter]4 byte,[parameter] Unit :Hz. Set up range: *HM-TRP-433: 414000000-454000000Hz; * HM-TRP-470: 450000000-490000000Hz; *HM-TRP-868: 849000000-889000000Hz; * HM-TRP-915: 895000000-935000000HzExample: *Config instruction: AA FA D2 **36 89 CA C0**, set up frequency as 915000000Hz.(**0x36 89 CA C0=915000000**) * Config instruction: AA FA D2 **19 DE 50 80**, set up frequency as 434000000Hz.(**0x19 DE 50 80=434000000**)4F 4B 0D 0A (OK /r/n)
C3Set up wireless data rate,[parameter]4 byte,[parameter] unit :bps. Set up range:1200-115200 bpsExample: *Config instruction: AA FA C3 **00 00 25 80**,set up transfer speed as 9600bps.(**0x00 00 25 80=9600**) * Config instruction: AA FA C3 **00 00 96 00**, set up transfer speed as 38400bps.(**0x00 00 96 00=38400**)4F 4B 0D 0A (OK /r/n)
B4Set up receiving bandwidth,[parameter]2 byte,[parameter]Unit :KHz Set up range:30-620KHzExample: *Config instruction: AA FA B4 **00 69**, set up receiving band as 105KHz.(**0x00 69=105**) * Config instruction: AA FA B4 **01 2C**, set up receiving band as 300KHz.(**0x01 2C=300**)4F 4B 0D 0A (OK /r/n)
A5Set up frequency deviation,[parameter]1 byte,[parameter]Unit :KHz Set up range:10-160KHzExample: *Config instruction: AA FA A5 **23**, set up modulation frequency as 35KHz.(**0x23=35**) * Config instruction: AA FA A5 **32**, set up modulation frequency as 50KHz.(**0x32=50**)4F 4B 0D 0A (OK /r/n)
96Set up transmission power ,[parameter]1 byte,0~7level Set up range:0-7level(1-20 dBm)Example: *Config instruction: AA FA 96 **07**, set up transmission power as level 7 (+20 dBm) * Config instruction:AA FA 96 **03**, set up transmission power as level 3 (+8 dBm)
Transmission power level     Transmission power
7 +20dBm
6 +17dBm
5 +14dBm
4 +11dBm
3 +8dBm
2 +5dBm
1 +2dBm
0 +1dBm
4F 4B 0D 0A (OK /r/n)
1ESet up UART transfer speed,[parameter]4 byte,[parameter] unit: bps Set up range:1200-115200 bpsExample: *Config Instruction :AA FA 1E **00 00 25 80**,set up speed as 9600bps.(**0x00 00 25 80=9600**) * Config instruction :AA FA 1E **00 00 96 00**, set up speed as 38400bps.(**0x00 00 96 00=38400**)4F 4B 0D 0A (OK /r/n)
87Wireless signal strength when receiving useful data, follows no [parameter]Config Instruction:AA FA 87 ![](https://files.seeedstudio.com/wiki/Grove-Serial_RF_Pro/img/WirelesssignalstrengthRSSI.jpg)RSSI value is 8 bit, range: 0-255
78Disturb wireless signal strength, follows no [parameter] Note: *Modulation index : h = Fd/Rb, Range is 0.5 ~ 32. * If h>1, BW =Rb+2Fd; If h<1, BW =2Rb+ Fd.Config Instruction:AA FA 78RSSI value is 8 bit , range: 0-255

Resources

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...