I am trying to remotely program an Atmega328 with UNO bootloader using an XBEE. For the reset line, I use XBEE's I/O line passing, with the programming done via the XBEE's serial link. The /RST, TX, and RX signals at the transmitting XBEE and remote Arduino show proper levels and polarity. But I get an error message (a sync error after 3 retries) when trying to program it using Arduino's AVR to write to the transmitting XBEE. On other projects that are programmed in the usual way, I have seen this message when there was a problem with reset levels or timing.
Does anyone know of either: 1) a way to program Atmega328s remotely via XBEE or 2) a reference document for the bootloader/AVR with a description of the loading process, especially timing and state diagrams?
I am using the most recent releases of Arduino and bootloader.
Programming was tried at 9600 and 57600. XBEE to XBEE communication was fully verified at both baud rates, but with no programming success.
Reset at remote XBEE came from an I/O thru a 0.1uF cap to the /RST pin pulled up with 10K. A direct connection between XBEE and /RST was also tried.
There are instructions for programming via series 1 XBEEs like Adafruits' Xbee Adapter - wireless Arduino programming. This is identical to what I have been trying to do, except Adafruit only got it to work with the Duemilanove bootloader and I need to make this work with the UNO bootloader - or at least understand why it doesn't. That's why I was looking for documentation on that bootloader. I want to compare my scope traces with the bootloader's protocol and timing requirements.
If anyone has been able to remotely program an Atmega328 with UNO bootloader via series 1 XBEE, I could use some advice.