Pulling my hair out the past few days getting the Xbee Series working with my Pi.
I have pin 2 on the Xbee connected to the Pi’s RX pin and pin 3 connected to TX on the Pi. Pin 1 and ground on the Xbee are then connected to a 3.3v regulator.
I then edited /boot/cmdline.txt and /etc/inittab to free up /dev/ttyAMA0.
Both Xbee’s I’m using are correctly configured with a 9600 baud rate. Using two Xbee explorers in Windows, I can communicate between the two. When I wire the Xbee directly to the Pi, it stops working. I tried using Minicom with the correct baud rate and the ttyAMA0 port. Sending commands like +++ results in nothing.
I tried using my multimeter to see if there was any signal coming through the RX and TX pin. I do see the voltage fluctuate slightly when it’s sending/receiving serial data, but it doesn’t actually result in readable data.
I’m totally out of ideas at this point. Can anyone tell me what I might have missed?
I believe it is a voltage issue. That is to say, the XBee is a 3V device and the Pi board you are using is a 5V board. You must use a level shifter between the two otherwise you will damage the Xbee modules.
What happens if you remove the radios from the picture and just connect the device to the data in and data out ports of where the radio mounts on your Pi device? Are you then able to communicate with the device?
It simply works. I’m not sure what it does differently than what I was doing with wiring the Xbee directly to the Pi, but it did the trick. Hope that helps.
I think the Xbee module needs a pullup resistor at the Data-in pin, it has one internally but it should be enabled. Did you check that?
I had a similar issue with an arduino, the modules worked on the explorer (they probably also have pull up resistors incorporated), but as soon as I put it in the arduino it did nothing, see http://stackoverflow.com/questions/14757227/receive-xbee-signals-on-arduino