Matthias
This thread is old and things have moved on a little bit.
The current situation (12 /11/2013).
The shield firmware must match the Arduino library code <WiFi.h>
Arduino 1.0.5 should only be used with WiFi shields which return
WiFi.firmwareVersion() == "V1.1.0"
Shields running earlier versions of firmware may report
WiFi.firmwareVersion() == "V1.0.0"
or they may report something different. Behaviour has not been consistent.
I have just completed and documented the upgrade process using Windows.
This is what worked for me, today.
(perhaps one of the mods would like to make it a sticky)
DO NOT USE THE WIFI LIBRARY ON GITHUB
The library and firmware in Github is an earlier development snapshot and is known to be problematic.
To be certain of using the right firmware files,
download the latest stable version of the Arduino application zipfile,
from the Download link at the top of this page.
Having downloaded the Zip file, extract it.
The firmware files are located in a subfolder
\hardware\arduino\firmwares\wifishield\binary
To carry out the upgrade using Windows, you will also need the batchisp.exe command line DFU programming utility,
which is included with Atmel Flip and can be downloaded from
You should not need the JRE or the GUI applications included with Flip,
but it does not hurt to install them.
For this example, assume the Arduino files were extracted into C:\Arduino105 and Flip was installed in C:\Atmel\Flip
The WiFi Shield is fitted to a powered down Arduino Uno, to reduce the risk of ESD damage.
On the PC, open a DOS prompt.
Enter the following commands and leave the DOS window open
path=%path%;c:\atmel\flip
c:
cd \arduino105\hardware\arduino\firmwares\wifishield\binary
You are now ready to upgrade.
Connected your PC to the shield's micro-USB port.
Short the J3 jumper on the WiFi Shield.
Back in the DOS window enter the following command
batchisp.exe -device AT32UC3A1256 -hardware usb -operation erase f memory flash blankcheck loadbuffer wifi_dnld.elf program verify start reset 0
Shield responds with solid Blue LED. Press the shield reset button. Blue LED extinguishes. Unplug the micro-USB cable and plug it back in again.
Back in the DOS window enter the following command
batchisp.exe -device AT32UC3A1256 -hardware usb -operation erase f memory flash blankcheck loadbuffer wifiHD.elf program verify start reset 0
Press the Shield reset button.
Remove the short from J3
Unplug the micro-USB cable
You can test the shield by uploading the following minimal sketch to your Arduino host board
#include <SPI.h>
#include <WiFi.h>
void setup(void) {
Serial.begin(9600);
Serial.println("Setup...");
Serial.print("Firmware ");
Serial.println(WiFi.firmwareVersion());
}
void loop(void) {
Serial.print("Firmware ");
Serial.println(WiFi.firmwareVersion());
Serial.println("Scan networks");
uint8_t numNets = WiFi.scanNetworks();
for (uint8_t i = 0; i < numNets; i++) {
Serial.print(WiFi.SSID(i));
Serial.print("\t");
Serial.println(WiFi.RSSI(i));
}
Serial.println();
delay(1000);
}