Question about router in API mode


I have bought about 20 Xbee Pro S2C modules.

Initially I started using it by sending a byte and receiving a byte, learning later that it was in AT mode and it isn’t the best configuration in order to create a coordinator-router mesh. So I configured my modules in API mode and zigbee mode:

  • Updated firmware and put it in the zigbee function set;
  • CE = 1 for coordinator and CE=0 for routers;
  • AP = 1 for all modules
  • Connected my modules to Arduino Unos and Megas in order to create a network;

Initially I started using the xbee-arduino library, but it couldnt quite get it to work and I also found it overly complicated … certainly 4 different objects shouldn’t be necessary to work properly, so I changed the library for a simple serial object and started sending the packets to the modules.

At first my routers were only able to read a modem status indicating over voltage, which after further inspection, indicated that the modules were @3V6, even though they were connected to the 3V3 output of the board. This was fixed by disconnecting and reconnecting the module to the board.

After that I noticed that I sent a 0x10 framtype (write command) and the other module received a 0x90 frametype (read command, indicating that the module received the data). I don’t do it via broadcast, I send it directly to the desired MAC. So far I can communicate among one coordinator and 2 routers (haven’t implemented the entire network yet), which is good and indicates that there is a good chance that all of them can be put in the same network.

My problem is, what do I do if a desired MAC is too far away for the coordinator, but not for another router? Does the firmware in the modules do the routing by itself or do I need to implement it? How can I get an example of this? Where can I read the documentation for this, if it exists? Can’t I simply implement my own way of getting to the far away modules? May be I could simply map all available devices to the coordinator and ask each router to get to the missing routers.

Yes, the firmware on the radio automatically determines the best possible path for the packet to take. That is why there are routing tables. That is also why a router is called that.

1 Like

Amazing little modules. I thought that maybe I’d need to do something a little bit more complex at least, but no.

It’s my first time using zigbee and an intelligent module, before this all I’ve done had to be done manually by me.