I think the XBee XSC is broken. Am I missing something

arduinocxbee

I have two XBee XSC 9600-baud chips, and I've been trying to make sure I know how to use them before integrating them into my project. Other people have used these same boards successfully, so they definitely worked at some point, but of course that also means they could have been broken at some point.

The test setup I have is one Xbee attached to a DF Robot Mega IO Expansion Shield attached to an Arduino MEGA 2560 and the other on a DF Robot XBee USB Adapter connected to a laptop. The shield has a space specifically for an XBee, with the DI/DO of the XBee connected to the TX/RX1 of the Arduino (thus, a minicom terminal for the Arduino is also effectively a terminal for the XBee).

My extremely simple testing program for the Arduino just outputs a couple bytes every half-second or so:

#include <Arduino.h>

void setup() {
    Serial.begin(9600);
}

void loop() {
    delay(500);
    Serial.println(millis());
}

Also, just to make it clear, I have reset both chips (several times) to factory default by grounding the reset pins, as suggested by a myriad of Google results. The results stay the same.

Now to the actual problem: it doesn't work. 🙂

More specifically, the data sent from the Arduino and its XBee is echoed by the adapter's XBee as nulls, or, if I swap the XBees, as nulls interspersed with the occasional letter (note the program only ever sends numerical digits).

Also, of the two, only one successfully connects to X-CTU (I try both of them separately with the USB board), and the same one is the only one of the pair that responds to the +++ command mode activation.

Basically, my conclusion is that one of them is permanently broken. However, I am sufficiently inexperienced with this and the chips are sufficiently not cheap that I wanted to ask if anyone saw anything I missed. Do I really have a broken XBee, or am I just missing something?
x

Best Answer

There is something wrong with the module if it does not work with x-ctu.

Try doing the +++ command at all possible comm settings until it works. It sounds like the two modules are programmed for different baud rates.