The RobotDyn Joystick shield has the XBee TX / RX lines switched to D0 and D1 or completely disconnected

RobotDyn offers a well-manufactured Joystick and XBee shield for the Arduino Uno which I am currently using for some IEEE 802.15.4-related experiments.

However, as it is not mentioned in any official documentation, I want to document here that the XBee TX / RX lines are connected to the Arduino D1 and D0 lines respectively and can only be disconnected via the “USB sketch update / Wireless” hardware switch at the top left:

The D0 and D1 lines are of course also connected to the Arduino’s main serial interface and connection to the host computer. This is why the switch has to be on “USB sketch update” when you program the board.

Unfortunately, this also means that it won’t be possible to send debug output from the Arduino to the host machine’s serial monitor when the XBee is active, i.e. the switch is in “wireless” mode. This is especially problematic when writing and debugging new programmes that use the XBee radio module.

With the SparkFun XBee Shield, one can switch the mounted XBee to use either pins 0 and 1, or pins 2 and 3 (see the section named “UART/SoftwareSerial Switch”), neatly solving this problem. It would have been great if the RobotDyn unit had done something similar, but keeping cost under control probably played a role.