Xbee Shield and wireless uploading to Uno

I want to be able to upload programs to an Uno using the Sparkfun XBee sheild. I am only part way there.

The first issue is to reset the target Uno when the PC opens the serial port to the XBee Explorer. I did this by using Line Passing. :geek:

On the PC side I:

wire DTR to DIO 0 (via a switch - optional)

turn off sampling, and turn on Change Detect for pin 0

On the Uno side I:

configure DIO 0 as default high

wire DIO 0 to the Uno Reset pin

set a very short timeout on DIO 0

Now, when DTR on the PC goes low, this is transmitted to the other side. On the Uno side, DIO 0 pulls reset low. The short timeout means it returns almost immediately to its default (high). The Uno then resets.

The switch allows me to disable this feature, so that I can connect/disconnect without resetting the Uno. In that case the switch works as a remote reset switch. (so pressing the switch on the PC side resets the Uno via the XBee). This is very useful! :dance:

However, uploading fails - apparently due to timing issues activating the bootloader. I have unsuccessfully tried to change to another bootloader (Duemilanove) using Arduino ISP and a second Uno. :violin:

I am sure this is a very common requirement, as an internet search shows, but I have not managed to find a list of steps to get the Sparkfun XBee shield working on and Uno with remote uploading. Can anyone help me find one? :pray: