I have an XBee which I would like to communicate with using Beaglebone Black, and I can do so perfectly well, provided that the XBee is powered directly by the BBB, with pins 1 and 10 of the XBee leading to 3.3v and ground pins of the BBB.
However, if I attempt to power the XBee independently, then the UART merely echos, with nothing being seen by the XBee (as far as I can tell). That is, if I use a terminal program to “talk” over the UART, it acts as though the TX/RX lines of the UART are tied together. I tried this by powering the XBee using a voltage regulator (3.3v Parallax, 601-00513), and using a benchtop power supply. If the power comes from the BBB, then it works fine; when power comes from another source, it does not.
Is there some critical bit of electronics I need to add here? I’m mostly a software guy, so I’m floundering…
No but have you looked at the radios settings? Could it be that you are sending data to the loop back cluster ID and the broadcast address where as your processor is using API mode?
I don’t think it’s any of the settings since they’re still as set by the factory, and because everything works when I power the system one way, but not another.
Someone suggested that the XBee ground and the ground on the BBB must be tied together. I’m about to try that, but it seems like a questionable solution, even if it works. Couldn’t the grounds be at slightly different potentials? If they are then you’ll have current flow between whatever is powering the XBee and the BBB.
After more trials, the easiest thing seems to be accepting that the xbees will be powered by the BBB rather than trying to power them independently with a battery. This isn’t a bad thing since it should be easy for people to understand that batteries go into the sensors after they have had a short conversation with the BBB.
No matter what I’ve done, the xbee and accompanying sensor circuit work fine when powered by the BBB, but the BBB/XBee comm link doesn’t work if the breadboard is powered by a battery.
My knowledge of electronics is modest, and maybe someone smarter could do something clever, but this works for me.