

The XBee Pro RF module is a long-range wireless communication module designed to enable devices to communicate over distances of up to 1 mile (line of sight) using the Zigbee protocol. It is widely used in applications requiring reliable, low-power, and long-range wireless communication. The module is ideal for remote monitoring, control systems, and IoT (Internet of Things) applications.








The XBee Pro RF module is available in various models, but the following are general specifications for a typical XBee Pro module:
| Parameter | Specification |
|---|---|
| Communication Protocol | Zigbee (IEEE 802.15.4) |
| Frequency Band | 2.4 GHz |
| Data Rate | Up to 250 kbps |
| Transmission Range | Up to 1 mile (line of sight) |
| Operating Voltage | 2.8V to 3.3V |
| Transmit Current | ~250 mA |
| Receive Current | ~55 mA |
| Sleep Current | ~3 µA |
| Antenna Options | PCB, Wire, or External SMA Connector |
| Operating Temperature | -40°C to +85°C |
| Dimensions | 24.38 mm x 32.94 mm x 2.79 mm |
The XBee Pro RF module typically has a 20-pin configuration. Below is a table describing the key pins:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | VCC | Power supply input (2.8V to 3.3V). |
| 2 | DOUT | UART Data Out (TX). |
| 3 | DIN | UART Data In (RX). |
| 10 | GND | Ground. |
| 11 | RESET | Reset input (active low). |
| 16 | RSSI | Signal strength indicator (PWM output). |
| 17 | DIO0/AD0 | Digital I/O or Analog Input 0. |
| 18 | DIO1/AD1 | Digital I/O or Analog Input 1. |
| 19 | DIO2/AD2 | Digital I/O or Analog Input 2. |
| 20 | DIO3/AD3 | Digital I/O or Analog Input 3. |
For a complete pinout, refer to the module's datasheet.
Below is an example of how to connect the XBee Pro RF module to an Arduino UNO and send data wirelessly.
| XBee Pin | Arduino Pin |
|---|---|
| VCC | 3.3V |
| GND | GND |
| DOUT (TX) | RX (Pin 0) |
| DIN (RX) | TX (Pin 1) |
#include <SoftwareSerial.h>
// Define RX and TX pins for SoftwareSerial
SoftwareSerial XBee(2, 3); // RX = Pin 2, TX = Pin 3
void setup() {
Serial.begin(9600); // Start Serial Monitor at 9600 baud
XBee.begin(9600); // Start XBee communication at 9600 baud
Serial.println("XBee Pro RF Module Test");
}
void loop() {
// Send data to XBee
XBee.println("Hello, XBee!");
// Check if data is received from XBee
if (XBee.available()) {
String receivedData = XBee.readString();
Serial.print("Received: ");
Serial.println(receivedData);
}
delay(1000); // Wait 1 second before sending the next message
}
No Communication Between Modules
Interference or Poor Signal Quality
Module Not Responding
Data Corruption
Q: Can I use the XBee Pro RF module with a 5V microcontroller?
A: Yes, but you must use a level shifter or voltage divider to step down the 5V logic signals to 3.3V.
Q: How do I update the firmware on the XBee Pro module?
A: Use Digi's XCTU software to update the firmware via a USB-to-serial adapter.
Q: Can multiple XBee modules communicate with each other?
A: Yes, XBee modules can form a mesh network, allowing multiple devices to communicate.
Q: What is the maximum number of devices in a Zigbee network?
A: A Zigbee network can support up to 65,000 devices, depending on the configuration.
This concludes the documentation for the XBee Pro RF module. For further details, refer to the official datasheet and user manual.