Can't get XBee S2C modules to communicate with Arduino

I’ve 2 S2C modules (one setup as Coordinator and the other as an End Device, please see X-CTU settings below. My problem is that I can establish communication between the two modules ONLY when they are connected to the same laptop and using X-CTU (ie both at API and AT mode or mix of either) and NOT through Arduino Uno. That is, I’ve the Coordinator connected to X-CTU and the End Unit connect to my Arduino Uno (see connections below).
Both the X-CTU and the modules are running the latest software / firmware.
Also note that I’ve two xBee shields that I’ve tried… (http://www.icstation.com/icstation-xbee-adapter-mini-xbee-shield-p-5129.html and https://www.sparkfun.com/products/11373
The library used is from https://github.com/andrewrapp/xbee-arduino

The Pinouts are as follows:

Shield -> Arduino
5V -> 5V (both shields are regulated 5V to3.3V)
Gnd -> Gnd
TX -> 9
RX -> 8

I’ve tried:

  • switching pins 8 and 9
  • different sample programs
  • hooking an oscilloscope to the TX and RX pins of the shield (no signals send or received)
  • resetting the modules to factory default
  • resetting the modules firmware (started with updating firmware of each module to latest… then reloaded again after failures)
    All to no avail.

The settings on my Coordinator are:
PanID: 236
ZS: 0 (was automatically updated via firmware upgrade… ie. I didn’t set this value)
JV: 1
CE: 1
SH: Reads 13A200
SL: Reads 4152ECCF
MY: Reads 0
DH: 0
DL: 0
BD: 9600
NB: 0
SB: 0
RO: 3
D7: 1
D6: 0
AP: 2

The settings on my End Device are:
PanID: 236
ZS: 0 (was automatically updated via firmware upgrade… ie. I didn’t set this value)
JV: 1
CE: 0
SH: Reads 13A200
SL: Reads 4152EC6F
MY: Reads 7F4C
DH: 0
DL: 0
BD: 9600
NB: 0
SB: 0
RO: 3
D7: 1
D6: 0
AP: 2
SM: 5 (When these units are working, my project requires the unit to sleep using pin wake up)

My code is “SerialDump” on this link:
https://gist.github.com/matthijskooijman/4da71b72ee64cf55ce76

Any help you can provide would be greatly appreciated! Please help! :slight_smile:

i’ve the same problem,I still do not solve it.
But I see that in the configuration of the modules, you have in without configuring the DL and DH parameter, these are important. In your case should be like this:

coordinator:

SH: 13A200
SL: 4152ECCF
DH:13A200 (SH= END DEVICE)
DL: 4152EC6F (SL = END DEVICE)

End device:
SH:13A200
SL:4152EC6F
DH:13A200 (SH = COORDINATOR)
DL:4152ECCF (SL = COORDINATOR)

I hope it serves you and if you solve it, I hope you help me a little…

1 Like

Thanks Alex. I’ve a book called “Building Wireless Sensor Networks” and it stated that when using API, the packet contains the address information and DL/DH/MY are largely ignored. I’m not sure how true that is… I’ve tried various settings including your recommendation but still banging my head! I greatly appreciate you response and if/when I resolve this problem, I’ll be sure to post so you can see what actions I took. Please do the same. :slight_smile:

Did you ever figure this problem out? I have been using older S2B Xbees without any problem hooking up to Arduino’s. Now that I have S2C, I can’t connect via arduino, using the same settings.

I figured it out! If you still care, I called Digi and apparently you need to pull DOUT high when starting your arduino board and powering the Xbee. I soldered a 10KOhm resistor between DOUT and 3.3V pin on the arduino board.

Hi, how are you?
Did you manage to solve your problem? The same thing happens to me and I’ve tried everything!
He worked XBee S2 (Zigbee), S2 PRO (Zigbee), S3B (digimesh) with Arduino UNO, but now with S2C and arduino I do not succeed.
I tried many codes that lost the account, I tried with XBee settings in XCTU, either …
also I tried with the resistance 3.3V - tx … it did not work either …
I appreciate your response very much.