Can't reach expected range with XBee Module

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.

Hi,
Can you please post your data into the post, rather than links to files that expect a specific application to open? Usually pdf or jpg are best.

What antennas were you using?
Can you post link to specs/data please?

Thanks.. Tom... :smiley: :+1: :coffee: :australia:

I edited the post and added png images of configurations and antenna specifications.
This is where I bought terminal antenna: Buy Terminal Antenna "Model: HSA-TBF Freq:2.4G Gain:7dBi - Affordable Price

And this is the manufacturer I think: https://www.hongsense.com.cn/omni-7dbi-2400-2483mhz-antenna-2-4g-wifi-router-rubber-duck-foldable-antenna.html

Hi,
The XBee pdf file in post#1 does not work.
What frequency is your XBee?
There are 2.4GHz and 900MHz models.
The robotistan link works, but the hongsense doesn't.

But that is sufficient info.

Can you please post a schematic of your project?
Please do not use Fritzy, a hand drawn image will be fine.
Include ALL power supplies, component names and pin labels.

How are you powering your project, do you know the current draw by the XBee unit when it transmits?

Some images of your project would also help.

Thanks.. Tom... :smiley: :+1: :coffee: :australia:

xbee_datasheet.pdf (6.4 MB)
This is the pdf file. Just to remind, I use XBee Pro S2C not XBee S2C. Datasheet has specifications for both.

They work at 2.4 GHz.

Here is the schematic of transmitter XBee.

I also have a buck converter circuit but there is no problem with it. It provides 5V.

Receiver is directly connected to computer through XBee Explorer USB. This: XBee Explorer USB Satın Al | Robotistan

I used XCTU software to read data during tests.

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. I would be glad if you could say whether this is just how it is for XBee modules.

Current draw is specified in datasheet but I don't know exactly how much my XBee draws, unfortunately fuse of my multimeter is broken.

Hi,
Thanks for the image.
The Teensy 3.6 can supply 250mA from its 3V3 pin.
However your link to the XBee data sheet does not work.

Please attach the pdf to your next post.

Have you monitored the 5V and 3V3 lines when the XBee transmits?

Tom... :smiley: :+1: :coffee: :australia:

Your circuit diagram shows 3.3v going into the 5v Explorer input. Why?
There will be a voltage drop through the regulator.

You can download the datasheet here

Yes, I monitored 5V and 3.3V volt lines. There is no problem they constantly provide corresponding voltage

In the datasheet supply voltage is specified as 2.7 - 3.6 V. And because explorer drops down the voltage to 3.3V I thought there wouldn't be a problem if I provided directly 3.3V.
I just checked the output of voltage regulator on Explorer and it is 2.4 V. But even when both are powered by computer signal quality is about -60 dBm.

I will test with 5V and write again.

It seems I was mistaken about something and didn'y share the code in Teensy 3.6. I also edited the post. When I power the XBee Explorer through Teensy's 3.3V signal quality is -50 dBm.
I just tested with 5V from arduino. This time quality is -70 dBm it's clearly better but still nowhere near sufficent. Code and circuit is here (Arduino was powered by computer):

#include <SoftwareSerial.h>
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};

SoftwareSerial transXbee= SoftwareSerial(2,3);//rx,tx
void setup() {
  transXbee.begin(9600);
}

void loop() {
  transXbee.write(packet,sizeof(packet));
  delay(100);
}

Do you have idea what the problem is or any suggestions to improve signal quality?

Hi,

-70dBm is worse than -50dBm.

Tom... :smiley: :+1: :coffee: :australia:

Wait you're right for a moment I ignored minus and thought -70 is greater than -50 :sweat_smile:. But how could it be even worse?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.