Getting Started

I've had quite a few people getting in contact asking for support with the initial setup and configuration of libxbee. As a result, I felt that it would be worthwhile writing this guide. libxbee is very straight forward, once you understand the principals involved.


  1. Is there anything I should know before I dive in?
  2. How do I get the source code?
  3. Can I download compiled binaries?
  4. How do I get it running on my OS?
  5. Which modules should I use?
  6. How should my modules be configured?
  7. Creating connections
  8. Using connections
  9. Advanced connections
  10. Running some samples

Other Resources

Things to Know Before You Start With libxbee

What is libxbee?

libxbee is an easy to use API for interfacing with a variety of Digi's XBee modules. It provides access to endpoints through a connection-oriented interface using functions such as xbee_conTx() and xbee_conRx(). libxbee also provides some advanced features, such as connection callbacks.

Where can I use libxbee?

libxbee was originally designed for use on Linux, though now supports Windows, FreeBSD and OS X too.

libxbee has been successfully used on embedded Linux systems, and cross compiled to a number of ARM platforms.

Unfortunately libxbee is not designed for use on smaller platforms like Arduino.

How can I use libxbee?

For less experienced developers, these pages should give you a good insight into many aspects of libxbee. You will be shown sample code that walks you through from creating a simple "Hello World!" program, all the way to using callbacks and managing larger systems.

For those who are more comfortable, man pages are included with the source code (and are also available online as HTML from here).

How is libxbee licensed?

libxbee is licensed using the LGPLv3 (Lesser GNU Public License version 3).