Hello,
I have some 2.4GHz XBee Pro S2C modules and need to transmit data to 1.5 km away. I tested two modules at somewhere far from people and other obstacles. It can, however, transmit data to about 75 meters at most. The module I used as a transmitter had a wire antenna and receiver a SMA antenna with 7dBi gain. Firmwares are 802.15.4 TH PRO in transparent mode. I didn't measure the signal quality.
Later I changed the firmware to ZigBee TH PRO but the result was same. And at last I tried DigiMesh 2.4 TH PRO in API mode with the same modules. Signal quality was about -50 dBm when they are next to each other.
Antenna of transmitter was integrated wire antenna that was already on the module.
And these are specifications of the terminal antenna I used with receiver.
| Model | HSA-2400TBF |
|---|---|
| Product Name | 2.4G WiFi Rubber Terminal Antenna |
| Frequency Range | 2400-2483MHz |
| Gain | 7dBi |
| Impedance | 50Ω |
| Connector | SMA or Customized |
| VSWR | ≤2.0 |
| Polarization | Vertical |
| Radiation | Omni-directional |
| Max. Power | 50W |
| Radome Material | Plastic |
| Operation Temperature | -40~+60℃ |
| Weight | 16g |
| Dimension | 18.5mm*173mm |
This is the XBee module datasheet: https://www.digi.com/resources/documentation/digidocs/pdfs/90002002.pdf
These are the configuration profiles I used:
XBee Configurations.zip (1.9 MB)
Do you have any idea what I am doing wrong or any suggestions? Although it is rated for 3.2 km why can't I even reach 100 meters?
Thanks in advance.
Edit:
These are code and circuit I use:
#define transXbee Serial5
byte packet[]={0x7E, 0x00, 0x1B, 0x10, 0x01, 0x00, 0x13,
0xA2, 0x00, 0x41, 0x99, 0x22, 0xA1, 0xFF,
0xFE, 0x00, 0x00, 0x48, 0x65, 0x72, 0x65,
0x20, 0x69, 0x73, 0x20, 0x64, 0x61, 0x74,
0x61, 0x2E, 0x37};
void setup()
{
transXbee.begin(9600);
delay(200);
}
void loop()
{
transXbee.write(packet,sizeof(packet));
delay(100);
}
You may ask why RX of Teensy is connected to RX of XBee Explorer and TX to TX. Honestly I don't know, it doesn't work otherwise.

