Getting started: XBee, USB, Ubuntu

Maybe some of you great minds have a hint for me.

Environment & settings:

  • Two XBees, one configured as Zigbee coordinator (AT), other configured as Zigbee end point.
  • One Arduino with XBee shield with simple program echoing what is sent to it.
  • One XBee explorer (SparkFun), attached to

a) Windows XP machine with hyperterminal or
b) Ubuntu 10.04 machine with minicom / picocom / perl program


On Windows XP everything works as expected, the (formerly via xctu configured) Xbees work like charm, the link is stable, the sent characters are correctly echoed (in fact the echo isn’t exactly an echo…so I can tell if I am fooled by “local echo” feature of the terminal program ;))
On Ubuntu, I can enter AT commands and get the proper (slow…it takes a few seconds) responses (PAN ID, the ID in the network, the joined network) but I don’t get any response (the echo stuff) from the other Xbee.

The TX (transmit) LED on the XBee explorer board shows some activity whenever I hit a key in the terminal program.

So far (on the Ubuntu machine) I tested minicom, picoterm and a self written PERL program.

The Arduino program sends some greetings stuff after initialization, this is received and displayed correctly on the Ubuntu machine!

Any pointers what to check next? To me it appears like a strange problem:

The communication
Ubuntu machine <-> USB (/dev/ttyUSB) <-> FTDI <-> XBee seems to be semi ok, otherwise I wouldnt get any response. The AT codes are working and I can see the greeting message that is sent from the Arduino program.

The Arduino echo program itself works properly, because it works using Windows XP and hyperterminal.

It seems I can’t send characters from the Ubuntu machine to the Xbee attached to the Arduino (otherwise it would echo the sent characters…)

Thanks for reading this long post and for giving any hints, they are greatly appreciated.


Always remember, while dealing with xbee, for new line \r only is used rather than

Other thing, it seems Ubuntu driver problem. In normal case, if it works on windows, then in Ubuntu, you are doing something wrong. Are you sending only ASCII characters?

I use simple characters like ‘A’ and ‘B’, nothing fancy.

At first I thought it might be a driver problem - but why do I get responses to the AT commands? It seems to work on SOME strange level… :slight_smile:

I ordered a second XBee explorer, this will allow more precise debugging.

Thanks for your reply!