After needing to deploy networked AVR-based hardware (such as an Arduino) in a location that isn't easily accessible, William Sowerbutts created an interesting solution that allows code uploading via Ethernet. By modifying the "Optiboot" bootloader, new firmware can be uplaoded using avrdude straght from a command line - however this can also be done using normal programmers directly connected to the hardware.
To allow for remote uploading once installed, your code needs use the internal EEPROM for IP data storage and also listen for a command received via Ethernet in order to reboot the hardware into Ethernet-upoad mode - and once the new firmware is received the bootloader will reboot the hardware and run the uploaded code.
A clever solution to a common problem, and you can find all the details on William's interesting website. And for more, we're on facebook, Google+, and twitter - so follow us for news and product updates as well.
When putting together your next Internet-enabled Arduino or AVR project - save time, space and money with the Freetronics EtherTen. Apart from being fully Arduino Uno-compatible, it has onboard Ethernet, microSD socket, full USB interface (so you don't need a costly FTDI cable just to upload a sketch!) and supports optional Power-over-Ethernet.