XBee/Sparkfun/Arduino help

Any help on this would be greatly appreciated...
I posted this on sparkfun forum however I haven't been able to get any help with it (or any posts at all...) basically this is my problem :

Alright so I have everything set up as in these pictures:

No matter what I do I can't get them to speak to each other or get a serial connection and the Arduino to transmit over the serial connection. I have just a simple sketch on the arduino that sends the string hi there over the serial connection.

The settings that I've used for the xbee's are as per http://www.netlabtoolkit.org/learning/tutorials/xbee/
Basically setting one of the xbee's up as the coordinator, and one for the end device.
Through the X-CTU I can test/query without any issues, and configure the modem without any issues, however I can't get anything form the range test or the terminal.

Any help greatly appreciated !!!


I just made yesterday something close to what you're attempting, and as i can see you're using Series 1 XBees like me so you might want to quickly check your configuration.

Does your code states the COM port the receiving XBee is connected to and is it also selected on the Arduino IDE, as well as having the correct baud rate set on the Serial Monitor? I am on a Mac, so I had to install drivers for the FTDI bus the "XBee Explorer USB" has (explained in the tutorial you linked). Also, I didn't used X-CTU for configuration, they actually worked out-of-the box and only fooled around a bit with Hyperterminal (the "screen" command in Terminal in my case) to see if they were working correctly before connecting everything up.

The difference between our projects, however, lies in that I wanted serial data from one device (a Venus GPS module) to be parsed inside the Arduino and converted to a more human readable format, then be transmitted right into the DIN pin on the "XBee Explorer regulated". The code I'm running on the Arduino is an example sketch that comes from Arduiniana with their TinyGPS library and everything was being received okay with this setup on the Serial Monitor set at 9600 baudrate (the XBee's default speed)

Wish you luck and keep me updated if you figure it out, else ask more

Cheers, :slight_smile:

Edit: Sorry, you already have the drivers if you were successful at communicating X-CTU to the transceiver and since you're using an Arduino board that requires them :stuck_out_tongue:

It's quite possible that I'm doing something small and silly that is making the whole system not work. As for an arduino sketch I'm using just a simple send through the serial as follows:

void setup() {
  // put your setup code here, to run once:

void loop() {
  // put your main code here, to run repeatedly: 
  Serial.println( "Whatup" );

As I understood it when the xbee is connected to the TXRX connections on the arduino any serial communication would be sent through it to the other xbee and then would go to through to the COM port that the xbee usb explorer is connected to.
It's a little weird because I can connect to both Xbee's when connected to the computer, both of the sparkfun boards 'blink' correctly when data is sent from them, but it's just not making that jump from xbee to xbee, which leads me to believe it's a small setting on the boards -__- What that setting is, god only knows, well more than god knows, but It would be nice if a tech god were to help haha.
Been struggling with this for a week now, still nothing doing.

As I understood it when the xbee is connected to the TXRX connections on the arduino any serial communication would be sent through it to the other xbee and then would go to through to the COM port that the xbee usb explorer is connected to.

Yes, that's how it works. I tested your code and it worked: a nice cascade of Whatups appeared on my screen as expected, even across a couple of rooms... have you checked the PAN IDs on each one of your XBees? Mine was the factory setting on both modules, I did check it via the "screen" command I mentioned in my last post (but that's regarding to my OS) surely the X-CTU program has something similar, adjust the values so that they match on both XBees.

Good luck

Forgot to mention: the radio has a different COM port than that of the Arduino on my system, so be sure to select the right one when you connect the Explorer to the computer to begin receiving.

Yeah when I wrote it I was hoping for an endless cascade myself. :~ Sadly disappointed.

Yeah both of my Pan ID's are 3332

Settings for them:
Arduino Side:
PAN ID: 3332
DH: 0
DL: 1234
MY: 1
Coordinator (CE): 0
Data Rate: 3 (9600)
AP-API Enable: 2

Computer Side:
PAN : 3332
DH: 0
DL: 0
MY: 1234
CE: 1
Data Rate: 3
AP : 2

These settings are as per the netlab toolkit website, however I've also tried it with default settings to no avail.
I did however update the firmware on both xbees to version 10CD (also as in the netlab toolkit website)

Just an update here that confused me even more -__-

So if I just send anything ( random characters, try to do a range test ) from x-ctu or any com communication program, the green light comes on on the RSS1 Arduino side.

So even more confused now. The code works on others side, and the sparkfun thing arduino side is receiving it.

-Arduino programmed to send a word through the xbee over serial when monitoring serial, nothing happens
-When characters sent from computer to arduino, arduino receives it ( or at least the green light comes on )
-Both currently using default settings, however I've tried multiple different settings.
-I've also tried two different arduinos just in case

See if their sample code is working, probably the API mode doesnt play nice with standard functions on the XBee if combined with standard Arduino code. It's like the end device sees the coordinator but somehow it's not passing the data it receives over to the processor on the radio, otherwise I would see the DIN LED blinking on the module that is sitting on the breadboard.

Your configuration looks alright to me (if comparing to the netlab toolkit site) sometimes we have seen it so many times that little things pass beyond of sight but you're varying the settings so something might not be sticking. There are no comments to compare for common issues concerning the article, it mentions however that they have had problems trying to get the specific board we're using working with the libraries, which lead me to think on a hardware difficulty.

Not sure in what way you're planning to implement the NETLab toolkit though, it looks promising since it says I can use many XBee's at once while I thought that was only possible with Series 2, 2.5 and similar modules and also allows for interfacing with Java (i think of processing) and the nice modular programming they show in their videos, but for testing you might want to disable the API MODE and leave it as transparent mode (AT) too see if it works that way and then try again with the other library on its own enviroment.

DL: 1234
MY: 1

This is good.

DL: 0
MY: 1234

This is bad.

For the two XBees to talk to each other, the values for DL on one needs to match MY on the other (and neither should be 0). That is not the case for your configuration. DL on the first one matches MY on the second one, but DL on the second one does not match MY on the first one.