If you have an Arduino project where the dev board is stuck inside a machine, or attached to the rafters or is inaccessible in some other way, a wireless programming/debugging link will save you tons of time. This tutorial is an extension on Robâ€™s version. In this version, no extra firmware or hardware (other than a capacitor) is necessary. Just use the default bootloader. I demonstrate it with a â€˜classicâ€™ Arduino but of course this can be easily adapted to any version or clone.
You will need 2 XBee adapter kits, 2 matching-protocol XBee modules, an FTDI cable (or other FTDI breakout board, if you can wire it up correctly) and a 0.1uF capacitor (although sometimes a 1.0uF capacitor worked better)
The big trick is turning on â€œDigital I/O passingâ€ where the reset pin is wirelessly mirrored from one XBee to the other. I spent a few hours reading the datasheet to figure it out!
Xbee Adapter – wireless Arduino programming