Connecting Xbee/Arduino using Explorer Regulated breakout

Hi,

I am a newbiew to Xbee modules.

I want to connect an XBee Pro module to my Arduino. I am using the following breakout board.

XBee Explorer Regulated - http://www.sparkfun.com/commerce/produc … ts_id=9132

After some googling, I found out the following connections to be made between XBee and Arduino.

5V (breakout board) → 5V (Arduino)

GND (breakout board) → GND (Arduino)

DIN (breakout board) → RX (Arduino)

DOUT (breakout board) → TX (Arduino)

my questions are:

  1. Can you please confirm if the above connections are correct? If not, please help me correct them.

  2. If DIN/DOUT accidentally connects to TX/RX respectively, will it damage Xbee or Arduino?

Thanx in advance.

DIN (breakout board) → RX (Arduino)

DOUT (breakout board) → TX (Arduino)

Is incorrect it should be:

DIN (breakout board) ← TX (Arduino)

DOUT (breakout board) → RX (Arduino)

The other connections are correct. Do be aware that that the XBee module itself is a 3.3V device and is not 5 Volt tolerant. But, the Regulated Explorer board does the 3.3V regulation and has a series diode on the XBee DIN line (the XBee’s internal pull-up must be enabled on the DIN line to receive) for 5V input.

waltr:

(the XBee’s internal pull-up must be enabled on the DIN line to receive) for 5V input.

Thanx a lot but what does the above mean? How do I enable XBee’s internal pull-up on the DIN line ?

Its in the XBee data sheet.

The exact command is dependent on the exact XBee hardware module and the Firmware version, without which I can’t give you the specifics or even what document or page number the info is on.

The Digi Int utility X-CTU can be used is check and change the parameters in the XBee.

Thanx again.

I am using XBP24 (XBee Pro 802.15.4) with the latest firmware available, ver: 1084

I managed to use X-CTU but I only configured the following.

  • PAN ID

  • Destination Address High

  • Destination Address Low

  • 16-Bit Source Address

I’m very new to micro-controllers and electronics, so please don’t mind my lack of knowledge.

I’d be grateful if you could please explain in details so that I can make the two XBees talk to each other.

Thanx a lot.

Ok, the Digi Int manual for these modules is #90000982, “XBee/XBee-PRO OEM RF Modules”.

Chapter 3 has all the details on the AT commands. The Pull-up resisters is command ‘PR’.

Hi,

I tried for hours so that I won’t have to disturb you again but I’m still stuck.

I checked the manual, the default value for pull-up resistor (PR) is FF. Doesn’t it mean that it’s already enabled?

Ok I have set up the Xbee thru breakout board to Arduino with the pin configuration (you corrected me earlier).

The other XBee is connected to my PC’s usb thru “XBee Explorer USB” board.

I’ve configured the Xbees as follows

First Xbee ----- Second XBee

==========================================

MY = 1A0C ----- MY=1A0D

DL=1A0D ----- DL=1A0C

DH=0 ----- DH=0

Then I burnt the following code to the Arduino.

void setup() {

Serial.begin(9600);

}

void loop() {

Serial.println(“testing…”);

delay(1000);

}

Am I supposed to see the word “testing…” on the Terminal tab of X-CTU, where the other XBee is connected?

Becuase I don’t get anything in Terminal tab.

Totally confused, how to troubleshoot!!!

Your kind help will be highly appreciated.

If its all connected and configured correctly, yes you should see the test message in the terminal window.

PR = 0xFF should have all the pull-ups enabled including DIN.

The first step in troubleshooting is to remove the XBees from the interface boards and jumper the two boards together, DIN → DOUT, DOUT->DIN & Gnd ->Gnd. This removes all the RF link issues so you can be ensured that the processor code and baud rates are correct. Once this is working then put the XBees back and to sure the XBee’s baud rates are correct.

An O’scope is the best tool to use to see what the serial data lines are doing. However, you can write code to continuously send different values (0x00 or 0xFF) that get close to 100% of a logic low or logic high. Then a Voltmeter can be used to see if the data lines are the correct logic level.

Check this and lets us know what’s not looking correct.

Thanx for the quick turn around.

I’d like to share with you some development at my end before i proceed to troubleshoot on your lines.

Whenever I send some data from X-CTU (thru Terminal >> Assemble packet), the power LED (red) on breakout board of my other Xbee (Arduino connected) blinks. Does that mean that it’s receiving data?

It blinks once for each packet i send.

But when I try “Serial.println(recvdByte)”, I don’t get anything.

Any idea?

The red power LED on the XBee Explorer board should never blink, it should on on and steady. If the red power LED is blinking check the power supply voltage.

The Green RSSI LED should come on for a few seconds when the XBee receives an RF packet including an ACK. The Green DIN LED should glow when data is send into DIN on the XBee and the DOUT LED should glow when the XBee receives Data and sends it out of its UART.

As to the Arduino code. By removing the XBees as I suggested in my last post you can ensure that the code is working correctly, or debug it without the complication of the XBees. I don’t write code for the Arduino so I don’t know how the Serial.println() function should work. Since there are a lot of people that do use Arduino there should be info on this.