I have an Arduino Zero with an XBee shield and module. On the other side is a RPi with another XBee module. I've verified the XBees are transmitting and receiving data fine. The code below works with the RPi+XBee on the Uno, but not with the Zero. The output appears in the serial monitor with the Zero, but the other XBee never sees the data.
Thank you for explaining the serial assignments. I tried using Serial1 and was not able to see any data pass through to the other XBee. I've tried three different shields and XBees I have working with other boards so I don't think the problem is there.
From the posts above I know only that you have a Zero with an XBee module connected to pins 0 and 1, using Serial1 should be enough to send data to the module but since this is not sufficient to solve your issue you must explain a bit more:
Hardware
Programming with the latest IDE (1.6.5) on Windows 7
Radio-A is the laptop with XBee Pro 900 on an explorer
Radio-B is the Arduino Zero, SainSmart XBee Pro shield, XBee Pro 900
However I see no output ("zero-serial1-test: [n]") and no packets in XCTU on the laptop. When I use the same shield and XBee on Radio-B with an UNO with the same sketch, it works fine. In both situations I can see Radio-B via XCTU so I know that XBee-B is powered up and has a link, just no data from the Zero.
I'm not sure about the SainSmart shield, but the SeeedStudio one does have a voltage regulator built in. Also, wouldn't the voltage only be an issue for 5v arduino boards? Since both the XBee and Zero are 3.3v, I'm guessing they shouldn't need to adjust the voltage.
The sainsmart shield has a voltage divider made with a resistor partition of 10K and 15K:
with a Vin of 5.00v you get a Vout of 3.00v on the DIN pin of the XBee module, that is fine
with a Vin of 3.30v you get a Vout of 1.98v that is under the minimum needed by the Xbee module (from the datasheet I read that the minimum is 0.7Vcc = 0.73.30v = 2.31v).
I can say for sure that the sainsmart shield is not 3.3v compatible.
The SeeedStudio shiled instead use a level converter so it seems to be compatible with both 5v and 3.3v (even if the IOREF pin is not used the level converter accepts any voltage between 3.3v and 5.5v and always outputs 3.3v, great choice for the shield). So let's focus on this shield.
what I expect is to receive from the other XBee module (the one connected to PC) the strings "zero-serial1-test"... etc.
I do not expect to see the strings coming from the serial monitor on the Zero because the Serial and Serial1 are two completely separated serial ports. This is different from the Uno where you use Serial to print on both pin 0/1 AND serial monitor.
If this do not work we should check the functionality of UART on pins 0/1.