Noob - Help understanding XBee capabilities


I’m hoping someone can help me work out how to set up my XBees with my Arduinos. I have spent a lot of time searching but cannot find exactly what I need to know and am getting very confused. If all of this has been covered before then a link would be much appreciated.

I have 3 XBee series 1 modules, 2 Arduinos with Xbee DFRduino shields, 1 XBee mount to connect to my PC some LEDs and some relays.

To send commands from my PC from 1 XBee to the other 2 XBees to control relays. I would also like to get feedback from the 2 Arduinos to let me know the current state of the relays.

Now what I think I have learnt is that the only way that I can get the 3 XBees to talk to each other like this is using DigiMesh rather than P2P…. I have flashed all 3 with XB24-DM and set the network ID’s to match.

Now I am confused.

Initially all I want to do is get the pin 13 led to turn on and off on each Arduino from my pc XBee. I think I should be OK from there.

Firstly, is it actually possible for my XBees to send and receive data? I have seen a lot of “set one to send and the other to receive” but nothing about sending anything back. For example, if I send a command to one Arduino to run a script, I want to know when it has finished…

Secondly, how do I specify which of my remote XBees to send a command to? Or do I have to send a message out to both of them but make sure that they are set up to understand different commands?

Hope this makes sense and thanks for any help.


And within seconds of posting I have found a video that answers at least some of my questions:


The 802.15.4 firmware supports 3 Xbee, but not auto-mesh routing.

So either firmware will work for you. The only thing DigiMesh offers is that 1 of yoru XBee can ‘route/forward’ data for the other 2. 802.15.4 doesn’t supprot this.

Both support API frames, which make your 1-to-2 design easier because you can address packets on a every send. With AT mode, you have to either work in broadcast or change Xbee registers between sends.

What other questions still remain?

Hi Lynnl,

Thanks for your answers but I might need a bit more spoon feeding I’m afraid.

What is “auto-mesh routing”?

You say that either firmware will work for me but then that only DigiMesh lets me ‘route/forward’ data for the other 2… doesn’t that mean I have to use DigiMesh if I want to get feedback from the 2 remote XBees?

With AT mode, you have to either work in broadcast or change Xbee registers between sends.

I can’t chose AT mode as far as I can tell… They are Series 1 XBees, I thought I could only set them to XB24 or XB24-DM which don’t have those options like the XB24-B modems do…

I’m not ruling out me being wrong…

Another 5 hours trying to get an LED to light across the airwaves.


Tried following this:link

I have one of these: DFrobot shield

If just flashes a red LED whenever an XBee is attached.

I also have one of these and that’s not receiving anything either.

Really getting me down now, every piece of documentation is either for a slightly different version or just doesn’t work! And pretty much everything I read is completely different to the last.

>>> What is “auto-mesh routing”?

That’s my own weird term … in a nut-shell:

802.15.4 works much like Ethernet+Hub (not TCP/IP). So each unit transmits, ALL remotes see the message, yet ‘filter’ on the address, with most discarding the message as not for me. This means everything is line-of-sight. For radio A to talk to radio B, A must be able to talk to B.

DigiMesh works differently. In some ways it starts like 802.15.4 - say radio A sends a message, which is seen by B, C and D. However, the auto-routing allows radio B to understand that any message for E should be forwarded by B to E. So A perhaps cannot talk to E directly, but magically when it sends a message to E, ‘some radio inbetween’ takes care of forwarding it. ZigBee and DigiMesh do this, Xbee with ‘DP’ or point-multi-point firmware like 802.15.4 do no.