I’ve integrated the Adafruit Xbee adaptor into my own Arduino Mega carrier board, and seem to find that I cannot upload software into the Arduino (via its usb port) unless I remove the Xbee chip from its socket. The only connections I have are RX-TX, TX-RX, 5V to +5V and GND to GND.
Is there anything obvious I might have mis-wired, or ideas of what to look for? I used the same xbee and Arduino with a Libelium adapter previously and I had only the same connections, which makes me fear I may have screwed up something in the adapter circuit during the process of integrating it into my eagle file.
Any thoughts greatly appreciated!
-Mark M.
Its because there are resistors between the onboard USB-Serial output and the arduino TX and RX lines. What this means is that the XBee when connected takes priority and holds the arduino RX line high while it is not communicating. The USB-Serial is then unable to drive the line low to communicate with the Arduino.
Basically in order to upload, you would need to have a jumper between the xbee TX line and the arduino RX line that can be removed when programming.
Alternatively, move the XBee lines onto the Mega chips UART1. That way you could still program, and all you would need to do is change in your program any calls to “Serial.” to be “Serial1.”
Is UART1 the TX1/RX1 pins? DANG that means one small change in my board would have made all the difference. I can cut traces and rewire though if that’s what it takes. Funny I knew I had it working previously when I had a point-to-point wired prototype; I was probably using one of the other TX/RX pairs. Thanks so much, extremely helpful!
Yeah TX1/RX1. Actually you could use any of the three other serial ports (just not the TX0/RX0).
Cut traces added jumpers and in business. Thanks again TCWORLD.