Unable to use Xbee Pro in API mode or AT mode

I’ve bought about 500 Xbee PRO S2B modules since I want to create five mesh network where each one has one coordinator node and 99 router nodes.

What I need to do for each network is to use API functions to let router nodes send integer values (0-1023 values read from an analog sensor) to the coordinator and sometimes to let coordinator send a simple command to all the router nodes in order to switch off a device which is connected to each router node.

On the back of each of my Xbee modules there is written: XBP24BZ7WIT-004J-revE.

With X-CTU, I tried to set the first Xbee module as Coordinator API with API Mode = 2 and PanID = 123 and then I did WRITE.
I did the same with another Xbee mode, by setting Router API with API Mode = 2 and PanID = 123 and the I did WRITE again.
(I just use two modules in order to see if everything works)

I uploaded the code which sends integer values to the microcontroller connected to the Xbee in Router API mode and the receiver code on the other microcontroller with the Xbee in Coordinator API mode.

Unfortunately, nothing works: I can see that the coordinator module does not receive nothing and it even seems that the router node send nothing.

I think there are some problems with the Xbee configuration with X-CTU: can you help me, please?

Can the coordinator send commands or it cannot execute any operation?

Digi API code is simply dropped with no response if even one Byte is off. Try using the Frame Maker: http://ftp1.digi.com/support/utilities/digi_apiframes.htm
The tutorial is found here:http://ftp1.digi.com/support/utilities/Digi%20API%20Frame%20Maker%20Utility.docx

I’m using the xbee api library for Arduino and i’m using the working RX and TX examples for Series 2 so I think that all the functions and bytes are ok.

May be it is a configuration problem since I’m not able to see any data sent or received by my Xbee modules.

Any suggestions or help? :frowning:

I’m not able to make my xbee pro modules communicate neither in AT mode nor in API mode.

HI! how are you?

Its very important that when your are making the devices settings, you check that no only the PANs IDs be the same in all modules, you have to check also that Operating PANs IDs, Operating 16-bits PANs IDs and Operating Channels be the same too in all modules. The destination address high on all modules must be 0000, the destination address low must be FFFF on coordinator and 0000 on routers (Whit this you are enabling that all the sending frames from coordinators arrive to all routers modules, and the frames sending from any router module just arrive to coordinator module). Set all the others features as default. If you want that a frame sending from the coordinator arrives only to one specific routers you must to change the destination address (for the destination module) in the frame. It maybe better that you set the API mode in 1.

For fixing it, you may change first the PAN ID of your coordinator, write and read this modules for check change has done, do the same in the routers modules, set on those the same PAN ID whit the coordinator turned on, write and read a couple of times till all the features be the same. If you can make a test frame and check it whit the terminal of the X-CTU software it would be better, remember to check the API mode in the PC settings tab.

If you set your modules in AT mode with this features the test will be easy because you don’t have to make any kind of frames to make a test, just plug your modules, open two X-CTU windows and check them both terminals, what you write in one of them must be appear in the other and vice versa.

I hope it could be useful for you!

Hi, I’m having the same problems. From what iæm been reading it looks like there is something wrong with the arduino library.

Please let ut know if you find a fix for this problem.

Martin