Puzzle - Serial RF Pro 串行射频

跳转至: 导航搜索


puzzle-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.
Model: WLS31625P



  • puzzle 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


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

Serial RF Pro1.jpg

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


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

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


  • Connect another puzzle - Serial RF Pro to duinofunuino 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).

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 duinofunuino, Please click here if you do not know how to upload.

<syntaxhighlight lang="Arduino"> //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

  1. 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() {

 if (SoftSerial.available())              // if date is comming from softwareserial port ==> data is comming 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 storaged data from the array
   count = 0;                       // set counter of while loop to zero
 if (Serial.available())            // if data is available on hardwareserial port ==> data is comming from PC or notebook
   SoftSerial.write(Serial.read());       // write it to the SoftSerial shield

} 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

} </syntaxhighlight>

  • You can see as show below after open serial monitor.

Communication result.jpg


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

Instruction(HEX) Description Config instruction(HEX) Return Value
F0 Reset to default parameters (except UART transfer speed), no parameter follows AA FA F0 4F 4B 0D 0A (OK /r/n)
E1 Reading the current Config parameter, no parameter follows AA FA E1 16 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
D2 Set 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-935000000Hz
  • 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)
C3 Set up wireless data rate,[parameter]4 byte,[parameter] unit :bps.

Set up range:1200-115200 bps

  • 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)
B4 Set up receiving bandwidth,[parameter]2 byte,[parameter]Unit :KHz

Set up range:30-620KHz

  • 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)
A5 Set up frequency deviation,[parameter]1 byte,[parameter]Unit :KHz

Set up range:10-160KHz

  • 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)
96 Set up transmission power ,[parameter]1 byte,0~7level

Set up range:0-7level(1-20 dBm)

  • 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)
1E Set up UART transfer speed,[parameter]4 byte,[parameter] unit: bps

Set up range:1200-115200 bps

  • 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)
87 Wireless signal strength when receiving useful data, follows no [parameter] Config Instruction:AA FA 87


RSSI value is 8 bit, range: 0-255
78 Disturb wireless signal strength, follows no [parameter]


  • 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 78 RSSI value is 8 bit , range: 0-255