First experience with XBee-PRO 900HP

Digi has developed a new kind of XBee product, the XBee-PRO 900HP. This device can operate with Zigbee firmware and DigiMesh firmware. The main advance of this chip is because it can operate at longe range distances, up to 40 miles (64Km).

There are two types of firmware: XBP9B-DM is DigiMesh and XBP9B-DP is MultiPoint.

If you already configured other XBee product using X-CTU software then you will notice this firmware doesn’t have the “MY – 16 bits Network Address”, this is because DigiMesh doesn’t use Network Address but only the 64 bits MAC Address to communicate.

Then if you want to create a “communication mesh link” between two XBee-PRO 900HP modules you need to configure module A’s “DH – Destination Address High” and “DL – Destination Address Low” with the respective module B’s “SH – Serial Number High” and “SL – Serial Number Low”.

Xbee 1 (coordinator):
firmware version: 8070
preamble ID: 1
network ID: 123
routing/messaging mode: 1 - INDIRECT MSG COORDINATOR
destination address high: (DH of XBee 2)
destination address low: (DL of XBee 2)
API enable: 2
Transmit option: 0xC0

Xbee 2 (router):
firmware version: 8070
preamble ID: 1
network ID: 123
routing/messaging mode: 0 - STANDARD ROUTER
destination address high: (DH of XBee 1)
destination address low: (DL of XBee 1)
API enable: 2
Transmit option: 0xC0

Digi lacks more documentation about these modules, it is not that easy to figure out an ordinary information like that.

Source: http://www.digi.com/support/forum/40209/unable-to-communicate-using-xbee-900hp

Update: A good starting tutorial (not exactly to XBee-PRO 900HP) is this here: http://creativeelectron.net/blog/2009/09/xbee-making-your-first-application-2/

2 thoughts on “First experience with XBee-PRO 900HP

  1. We’ve been working with these modules connected with an Arduino. You can basically interact with them either with AT command or via the API frame protocol. Cool thing, for example, is that you don’t need to fixed DH and DL to a specific address; if you use API mode you can set them on-the-fly.
    There is frame builder here http://ftp1.digi.com/support/utilities/digi_apiframes2.htm
    And already some libraries:
    https://code.google.com/p/xbee-arduino/
    https://code.google.com/p/python-xbee/

    the first one doesn’t have support for Digimesh firmware, but it actually works … the only trap I found is that library somehow limits the payload to 95 bytes when hardware allows up to 100.
    the python library does have support for digimesh.

  2. Hi Reynaldo,
    thank you very much for this info.
    Yes, using the API mode we can define the DL DH dynamically.
    It makes any project more flexible.
    []’s, Alan

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s