The Ethernet Bootloader comes together with a small software application to allow uploading sketches to an Arduino with a Wiznet W5100 chip, i.e. the Arduino Ethernet or any Arduino with the Ethernet shield that is equipped with an Atmega 328p.
The bootloader will try to create a TCP connection to the firmware server and download a new firmware before running it.
You can download it from here: http://www.corvusmedia.de/ArduinoEthernetBootloader-0.3.tar.bz2 (2016-09-19 gives 404 error. If this file continues to not be available this page should be deleted)
(2013 02 17 This site now requires a password)
Here's the README of the project:
##################################################################### # # Arduino Ethernet Flasher v0.3 # # based loosely on the original bootloader from Arduino.cc # # Author: Emmeran Sollner # you can contact me via Arduino.cc forum PMs # # Date: February 24, 2012 # # Changelog: # 0.3 - added date info to flash event # - fixed -fno-split-wide-types issue (bug in w5100.h) # 0.2 - using TCP instead UDP, using own format instead of TFTP # - changed nearly all of the code # - added blink codes to see what's going on using LED9 # 0.1 - initial version from arduino.cc # ##################################################################### Disclaimer: I wrote this software for my own use. It is based on Arduinos original bootloader for the Arduino Ethernet: https://github.com/arduino/TFTP-Bootloader Use this software at your OWN RISK! I have no idea whether it can harm your PC, your programmer or your Atmega! If you find any dangerous code or just a bug etc. feel free to contact me at the arduino forums by sending me a PM. Installation: (linux) I. Flashing software 1. Download the Qt SDK from https://qt.nokia.com/downloads 2. Open EthFlasher.pro in Qt Creator 3. Hit compile II. Ethernet bootloader 1. Get the avr toolchain (easiest way: install the Arduino IDE) 2. Go to firmware/ (!) Open networkconfig.h and adjust the network settings, uncomment the #error line 3. Enter make to compile the bootloader 4. Plug in the target Atmega 328p AVR using an avrisp2 programmer (processor settings etc. can be changed in Makefile) 5. Make sure your target is powered on 6. Enter make install to flash the bootloader to the target Usage: 1. Open the flashing software, click "Select File" 2. Select the target firmware (*.elf or *.bin!) You can usually find a *.elf file in /tmp/build*.tmp after compiling your sketch in the Arduino IDE 3. Tick the box next to "enabled" 4. Make sure your PC is connected to the network correctly 5. Connect your Arduino Ethernet to the network 6. Power up your Arduino or reset it, if it's already powered on 7. The flashing software should output this: New Arduino found! Client said: GET firmware.bin Sending firmware: 110 bytes. Client said: Success! 8. The bootloader will react with blink codes after the firmware upgrade to allow you to see whether it succeeded or why it failed: 2x No connection to firmware server 3x Firmware upgrade cancelled (enabled in software unchecked) 4x Firmware upgrade successful 5x Flash memory is full / firmware too big (max 28,672 bytes) (6x Image validation failed - not working yet) Have fun with your new easy upgrade Arduino :)