Xbee Series 1 Programming

Hey everyone,

I'm working on a RC Robot and to reduce the scope for this question, I have 2 wire antenna Series 1 Xbees, 1 Jayconsystema Xbee Shield, 1 Xbee USB explorer. I also downloaded XCTU which I need from what I understand.

My question is if anyone can recommend good Xbee Series 1 tutorials. Most tutorials I found use Series 2, and I prefer not to brick mine so quickly. It's just basic communication from PC to Arduino. I'm getting confused in the aspect of pairing the 2 Xbees and then how do I send and receive data? Just using the standard Serial library?

Thanks for your time, DM.

My question is if anyone can recommend good Xbee Series 1 tutorials.

My question is why YOU can't google. There are only three values that need to be set on the XBee - PAN ID, MY and DL. My on one is DL on the other, and neither should be 0xFFFF or 0x0000.

Your response was only helpful without the first sentence. Thanks for the response, though.

I've googled it, looked up instructables and as I mentioned in my original question if you spent time actualy reading it is that I only found 'helpful' tutorials on series 2 xbee.

if you spent time actualy reading it is that I only found 'helpful' tutorials on series 2 xbee.

When I got my series 1 XBees, I had no problems finding tutorials.

Great to know :stuck_out_tongue:

I have attached

  • one example: DetectorMovZigbee
  • Xbee Manual series1, have look page 14

DetectorMovZigbee.PDF (517 KB)

XBee-Manual.pdf (1.09 MB)

dmor574:
I've googled it, looked up instructables and as I mentioned in my original question if you spent time actualy reading it is that I only found 'helpful' tutorials on series 2 xbee.

Just how hard did you look ?
http://bit.ly/V4igrH

I'm still unable to both Xbees to properly communicate with each other. I programmed my Arduino to just use "Serial.begin(9600)" in setup and "Serial.println("test")" in loop. Then I'm trying to receive that message on my PC.

Can anyone be more specific or helpful with suggestions rather than letting me know that yours works perfectly and implying I'm an idiot?

I set the baudrate on both Xbees to 9600. One strange thing is that entering "+++" in the terminal gives me "OK" as a response, but other commands seen in tutorials get no response. I've been changing the settings in "Modem Configuration" using XCTU. Which Function Set do I use? Should one be "USB adapter"? I've tried different settings for a few hours.

PS: on my settings, my Arduino shield lights up when I send it data, so It appears to have some type of link.

One strange thing is that entering "+++" in the terminal gives me "OK" as a response, but other commands seen in tutorials get no response.

What about of firmware in your Xbee ( version ) ??

Which Function Set do I use?

  1. just use the default configuration (if you firmware version is ok) an example for test page 14-15 of manual xbee serie1 :slight_smile:

How have you configured the XBees. As I mentioned a while ago, all that needs to be set is MY, DL, and PAN ID. For instance one XBee might have PAN ID = 3333, MY = 86, and DL = 2384. The other would than have PAN ID = 3333 (so both are on the same PAN), MY = 2384 (the other ones DL address) and DL = 86 (the other ones MY address).

The exact PAN, MY, and DL values do not matter, except that MY or DL of 0xFFFF or 0x0000 are not advised (they have special meaning).

I'll check the firmware shortly when I get home, but it should be the newest one. I clicked download and update.

I changed the xbee settings by going to "Modem Configuration", clicking "Read", then changing the PANID so both have the same one. Then MY and DL values are reversed on each xbee. I then press Write to store the configuration

I then test my Arduino Mega by plugging it into a 9v Walwart connected to nothing with just the JS xbee shield on it. I then connect the USB explorer to my laptop and open the Arduino serial monitor- setting it to 9600 and I get gibberish. I also tried this in XCTU terminal with similar results

I then test my Arduino Mega

With what code on it?

by plugging it into a 9v Walwart connected to nothing with just the JS xbee shield on it.

You're expecting us to guess what a JS XBee shield is. I't pass on that game.

I used these ones:

I followed the video posted by: "deathrow": Tutorial 09 for Arduino: XBee Wireless Communication - YouTube. It seems I programmed the Xbees successfully using Putty. In XCTU, Xbee never responded with an "OK" when sending commands, whereas in Putty it did.

The good news is that it worked, but the bad news is that it only worked for a short amount of time and then continued to spew out random ASCII garbage. I had a solid few seconds of the exact data coming up in the serial monitor and then it stopped and I wasn't able to replicate it. I used the code below

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

void loop() {
  Serial.println("Test");
}

What i'm using:

I'm also testing it on my Arduino Mega and Arduino Uno.

Thanks for any help or insight, DM.

--
Edit: And yes, the serial monitor is set to 9600.

void loop() {
  Serial.println("Test");
}

How many characters per second are you sending? You need to slow that down. Jamming data out as fast as possible makes no sense.

I forgot to mention, I also tried with a 100ms and 500ms delay after posting that. I had a feeling that would be the next response.

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

I found that the problem was in fact with the Jayconsystems Xbee Shield as a manufacturer defect. I contacted them and they were nice enough to send a fresh one.

If I just hooked up the RX/TX/Vin/GND straight to the board I would've found this out sooner. Thanks for all the help.