I'm interfacing an XBee PRO 900 HP with a Beaglebone Black using UART5 on the BB. I'm using the 5v interface board from Adafruit (XBee Adapter kit - v1.1)

I'm have been having intermittent problems with the Beaglebone not being able to communicate with the XBee - it's not working more often than working - but it works sometimes nonetheless - and when it's working it will continue to work. But if I power the XBee off and on again, it will stop working.

I have checked baud, databits, stop bits and all other settings - I'm confident they are all right.

I found today, that if I power on the XBee without connecting it to the UART on the Beaglebone, then plug the Beaglebone in after the XBee has powered on, it works perfectly. But if I power the XBee on while the UART on the Beaglebone is connected, it usually won't work.

I did a logic and voltage trace of this behavior and found that when the UART is not connected before the XBee boots, the XBee TX pin sits at 3.2v and RX at 0 - which is what you would expect. Once I then connect the UART on the Beaglebone, the TX voltage stays at 3.2v.

But when I power on the XBee with the UART connected to the Beaglebone, the TX voltage only rises to 1v and stays there and no communications takes place. The Xbee still works though, as I can send AT commands via another XBee - I just can't communicate with it via the UART.

I've connected multiple XBees for testing - all exhibit the same behavior. I've also tried the XBee's with my computer using FTDI cable, and I don't get this issue. It just seems to appear only when I connect the Beaglebone UART to the XBee before powering on the XBee. I've also tried the XBee on different UARTs on the Beaglebone - all the same behavior.

I'm stumped as to what could be causing this behavior! Any ideas?

This is a view of the TX/RX logic (LGC) and voltage (ALG) of both the XBee TX/RX pins and the Adafruit 5v adapter TX/RX pins connected to the Beaglebone.

This trace is with the XBee powering on while the UART is connected:

XBee booting **WITH** UART connected

This trace is with the XBee powering on without the UART connected, and then connecting the UART:

XBee booting **WITHOUT** UART connected

  • \$\begingroup\$ Put a 1k resistor in series with TXD, and monitor the voltage on both sides. What do you get? \$\endgroup\$ – Bruce Abbott Dec 8 '16 at 12:42
  • \$\begingroup\$ I've put a 1K in series with TX and measured the V pre and post the 1K in another plot. No material difference at all. Pre the 1k (XBee side) the voltage sits at 0.997 and on the post side (Beaglebone) the voltage sits at 1.057. Another thing I noticed, with the XBee powered off, the RX line sits at 2.7v - when I power the XBee on, the voltage goes up to 3.3v. I'm assuming that means the XBee is drawing current from the RX line when it's powered off? \$\endgroup\$ – cynik Dec 8 '16 at 23:54
  • \$\begingroup\$ Apologies - I got confused with my wiring on my previous comment. The voltage is higher on the Xbee side of the 1k, and lower on the Beaglebone side. !Logic probe image \$\endgroup\$ – cynik Dec 9 '16 at 0:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.