Can't get ATDN to work


I am experimenting with the DN command. All of the XBees are series 1 in 802.15.4, firmware 10ec. My setup is the following:

One XBee connected to XCTU, running API = 2
Two other XBees running API=0. One of the has NI set to ROBERT.

On the 1st XBee in API mode 2, I issue the ATDN command ATDNROBERT, which gives the following frame:

7E 00 0A 08 01 44 4E 52 4F 42 45 52 54 96

When I send this command, I don’t get any answer, not even a 0x88 frame with status set to error when NT is set to 19 (0x19). If I change NT to 30, the I get this frame:

7E 00 05 88 01 44 4E 00 E4 which means the AT command is successful. Tried setting NT to 50, no change.

What explains I don’t get the expected 0x88 frame with 16 and 64 bits addresses ?


Gilles Plante

You have the commands back words. Try using the ND command with the value of ROBERT. That will do what you are looking for.

Hi mvut,

both commands exists, that is ATND and ATDN. For ATDN “Destination node: Resolves an NI (Node Identifier) string to physical address…”.

But true, if one ads the NI ATND, only this node will get back with the physical address and some more information.


Gilles Plante


You are correct. Both Commands exists but they perform different functions. The ND command is the Node Discover command which will allow you to view the addressing information of a node or all nodes in your network where as the DN command set the DL and DH address on your originator to the NI value of the module that is sent within the DN command. IE there is no response back, all that occurs is that the DL and DH addresses get set for you.

After kicking this around, there is a way on the s6b to do a dns look up, it is ATLA fqdn. Works great. If you are using DHCP, and your router configured properly, the xbee will get the dns server from dhcp, or you can set it via AT commands.

I think you are confused between the ND and DN commands. The ND command would provide a response with a 16 bit or 64 bit address and few other functions where as the DN command only sets the DL and DH for you with an API response as OK.