xbee (series 1) dropping characters

Hi all, I was wondering if anyone had any issues with dropped characters when sending data from an arduino to a CPU via xbee? I'm right now doing some tests between xbee and bluetooth, and while I'm lovin' many of the aspects of the xbee, not so keen on the lost data. Sometimes it's a space, sometimes a line feed, sometimes a digit will be missing. Whatever it is, it ain't predicable, and it sure ain't makin' me happy. If I use the exact same sketch and app on my mac with my bluetooth modem (bluesmirf), nothing is dropped.

I'm using 2 xbee radios (series 1, 802.15.4), one set as the coordinator (and attached to my CPU), one as an end device (attached to an arduino). Firmware 1084. Both set up in transparent mode, sleep = 0, packetization timeout = 0. Everything set to 115k baud, but switching everything to 57.6k didn't show any improvement. Slowing the sample rate down to 10 Hz didn't help either (not much point in going lower for what I'll need this to do).

Anybody else experience something like this? It's really not usable like this if I can't trust the data coming in, which makes me think I have something setup incorrectly!

Thanks for any pointers. And please let me know if it would be helpful to show a sketch.

Best, David

Just to keep everyone in the loop since I know there is SO much interest in my woes :slight_smile:

Turns out that the firmware was a bit out of date (the firmware list I found on digi’s website apparently needs some updating, too). Since updating (version 10CD for those keeping score), I’ve gone from a bad packet every second to none. So that’s quite nice. Other notes from digi’s support included setting the packetization timeout (RO) to 0x03. Probably decreasing the baud to 57.6k will ensure that I always get good packets.

One question, tho. Seems like it would be smart to implement some hardware flow control between the xbee and my arduino pro mini. I basically need the xbee to tell the mini to stop sending it data for a moment. This can be done on the xbee via the CTS pin (pin 12). From what I can tell, when the buffer is close to full the xbee sets the pin high. When things are OK, it sets the pin low. What I don’t know is what to do on the mini side. Any advice? Can the CTS pin on the xbee be connected directly to one of the end pins on the mini? Or is this something I need to monitor in software on the mini? I’m a bit lost here.

Thanks in advance for any pointers.