Home/Support/Support Forum/XBee Pro S2C range problem. (Datasheet max. 3.2km - Test Result(opened area) max 500m)

XBee Pro S2C range problem. (Datasheet max. 3.2km - Test Result(opened area) max 500m)

0 votes
I am living in Turkey.About 2 months ago I bought the XBee Pro S2C (original) module due to its maximum distance
range of 3.2 km.I was able to transfer the GPS data I received from GY-NEO 6MV2 to the XBee Pro S2C.The reason I chose
this RF module was for the drone(autopilot).I wanted my drone to go 2 kilometers away.As a result of my trials, I found
that GPS data did not come after 500 meters.Weather conditions were good when I tested.Moreover, I am very surprised that a
module that range of 3.2 kilometers away in the best weather conditions cannot send data after 500 meters in a sunny and
open area.
I complain about this situation.

Receiver Arduino Code (with Coordinator XBee) (Arduino MEGA)

#include "SoftwareSerial.h"
// RX: Arduino pin 10, XBee pin DOUT. TX: Arduino pin 11, XBee pin DIN
SoftwareSerial XBee(10, 11);
float DO_float=0;

void setup()
// Baud rate MUST match XBee settings (as set in XCTU)


void loop()

if (XBee.available()) { // If data comes in from XBee, send it out to serial monitor

char DO, buf[100];
DO = XBee.read();
DO_float = atof((char *)buf);
//Serial.println(DO_float); //uncomment to print floating point result


Transmitter Arduino Code (with Router XBee)

#include "SoftwareSerial.h"
#include <TinyGPS.h>
//long lat,lon; // create variable for latitude and longitude object
float lat,lon;
TinyGPS gps; // create gps object
SoftwareSerial XBee(10, 11);

void setup(){

Serial.println("The GPS Received Signal:");
Serial3.begin(9600); // connect gps sensor


void loop(){
while(Serial3.available()>0){ // check for gps data
if(gps.encode(Serial3.read()))// encode gps data
gps.f_get_position(&lat,&lon); // get latitude and longitude

Serial.print("Position: ");

Serial.print("Latitude: ");


Serial.print("Longitude: ");

XBee.write("NA"); // latitude
XBee.write("EA"); // longtitude




Router (Transmits GPS data)

CH - C
ID PAN ID - 2018
DH - 0
DL - 1
MY 16 bit Source Adress - 2

Coordinator (Receives GPS Data)

CH - C
ID PAN ID - 2018
DH - 0
DL - 2
MY 16 bit Source Adress - 1
CE - Coordinator

other settings are default in both of modules

The distance has to be extended and this is very important to me.

I chose this module because I trusted DIGI company.
Please help me solve the problem.

I don't want to buy a XBee Pro XSC S3B module. It's very expensive.
asked Jul 23, 2020 in IEEE 802.15.4 by gunesmadrali New to the Community (2 points)

Please log in or register to answer this question.

1 Answer

0 votes
You are not allowed to use PRO modules or the 900 MHz products in Europe.

You might need to adjust the channel you are using or the antenna direction it is facing. It should be pointed up in the air.
answered Jul 23, 2020 by mvut Veteran of the Digi Community (14,294 points)
Sorry for my late comment.Can you explain a little more about Adjusting the channel?How can I do this from the XCTU program?I am a little new to XBee.
The module I use has an internal antenna.
The CH command supports a value between C -17 Hex. So on both you can change the value to say 15.
Then will it be able to transmit from 2-3 km's?
I changed CH' in XCTU of both XBee's. CH=15
Still same.It doesn't work.
by Same do you mean you can't obtain 2 to 3 km with it?  If so, what distance are you obtaining and how high from the ground and other obstructions are your antennas.
I want to give all the necessary information.I am living in a city of 2 million people.
I am studying at university and there is a road in our university that has no obstacles.Approximately 1.5 kilometers long. (0.932 miles).It's a straight road and has no obstacles.
While my friends were at one end of the road(They were checking the data coming to the receiver(coordinator xbee with arduino)), I started walking towards the end of the road.
I used a 7.4V (850 mah) battery in the transmitter mechanism I held in my hand(Since XBee Pro S2C needs 100-200 miliampers).
Xbee is connected to arduino via xbee explorer and is fed from the 5v pin of the arduino.(XBee Explorer has an internal voltage regulator to convert 5v to 3.3v for xbee).(I did it for Arduino Communication XBee Shields are to expensive and I used XBee Explorer in Receiver side too.)

XBee Explorer

Data transmission was interrupted when I reached a distance of 500 meters.

There are 2 questions in my mind.

1-I wonder if the shield I use affects the sending power of the xbees.

2-Am I blocked by the operators in accordance with the protocol rules of my country due to security and the device being 2.4 Ghz

3-I live in the south of Turkey temperature for the air to about 35 degrees and the humidity a bit high.(But I don't believe that the temperature and humidity would decrease this power, I should have been able to get data from at least 1.5km.)

4-Since I live in a city of 2 million, maybe people's phone signals are blocking.(GSM operators (2.4Ghz))

These are my doubts.
It is most likely due to antenna height.  As you walk away, unless you are increasing the antenna on both ends at the same time, you are going into NON-RF LOS conditions.  The article at https://www.digi.com/support/knowledge-base/maximizing-range will help you to understand.

As for questions 2 - 4, No.