XBee range calculations

I originally posted this as a discussion but given the new guidelines for posting, I thought I would post it as blog. Also anybody who saw this before will find that I discovered a few important things (like the minimum SNR for zigbee). The spreadsheet that I created I left this as an editable Google Docs sheet so please don't save as you play with it.

With this spreadsheet you will find that in some cases it would be possible to transmit 10km, with the right antennas further. This assumes an XBee PRO 2.4 GHz.

There are two important caveats you should know:
1) I am not an engineer, I only play one on TV - seriously though, I am in marketing, and I haven't derived an equation in a decade - so check my work if you feel like it. That said, I do work at a WiFi company, so at least I know how RF is supposed to work.

2) Digi is not forthcoming with the radio properties of their XBee module, this isn't surprising; with radios it is rare to publish this sort of information. I found the best information in IEEE research papers outlining Zigbee. the XBee could be worse or better than stated.

Anyhow, enjoy the spreadsheet.

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones


  • Thanks!
  • ok
  • By the way, I was off by an order of magnitude, I meant to write a BER of 10^-3 is 1 in 2 frames.
  • Excellent, appreciated thanks
  • One thing to know, as you get lower than a SNR of 5 on an XBee you don't lose connectivity, but the Bit Error Rate (BER) spikes. Fortunately the protocol is resilient enough to retransmit if there is a CRC error or an ACK is missed. So if you look at the BER you would know when to turn around before losing connectivity. Just so you know, I have not looked deeply enough at the XBee to know if you can get the BER out of it :). By the way, when the BER drops to 10^-4 (1 retry for 2 packets roughly assuming a 64k frame) you should probably turn around.
  • Very useful thanks.

    I'm considering a mod to my ArduFab GCS and to the ArduPIlot code that would use Xbee in API mode.

    This would allow the radios to start off in low power mode and to up the power if the signal breaks. The API mode also allows the signal strenght of the xbee to be known which would allow an auto pilot to automatically "return to base" if the signal breaks at highest power.
  • Nice work.
This reply was deleted.