• EUR€
  • £GBP
  • $USD

How to upgrade Arduino WIFI shield firmware (on Windows)

DFRobot Nov 14 2012 274

I just got Arduino official WIFI shield these days. It looks really cool. But it seems some small bugs with this new product. I found the topic on the Arduino forum discussing the similar problems I met with and some related information about how to fix it on Mac! Unfortunately, I’m using windows 7 64bit system. So I start my learning about how to upgrade the Arduino WIFI shield firmware on Windows 7 system. Here is a step by step tutorial with screenshots sharing what I learned. 



Hardware Needed:


Software Needed:

  • AVR32 Studio 2.6          AT32UC3 Programming platform
  • Flip 3.4.7                         Supports in-system programming of flash devices, including batchisp.exe programming application
  • AVR-tool-chain               Compiler command line tools for AVR 32-bit Microcontrollers
  • AVR32 USB Driver         USB Driver for AT32UC3 microcontroller on Windows
  • New firmware                 Official Arduino WIFI shield github


Note: Recommend to download the AVR32 Studio 2.6. It seems that the AVR32 Studio 2.5 can’t works with the newest AVR-toolchain properly.

Hardware Connection


  • Confirm that if your WIFI shield is stacked on the Arduino Microcontroller (I’m using Uno Rev2).
  • Connect the Jumper cap on the WIFI shield
  • Connect the IOREF pin to the 3.3v pin. If you’re using the Rev3 series Arduino controller, you don’t need to do this!


Software Installation

1.Install avr-toolchain (Run avr-toolchain-installer- downloaded from Atmel website). Using the default setting of wizard is fine.

2.Install the AVR32 Studio (Atmel AT32UC series 32bit microcontroller development platform). If you’ve used Eclipse ever, that will be pretty good. Because this studio is designed basing on the Eclipse.

3.Install Flip 3.4.7. The AVR32 studio needs the batchisp.exe application included in the Flip 3.4.7 to program the Atmel 32bit microcontrollers via USB.

4.After installing the development platform, we need to install the usb driver for WIFI shield. Connect the Arduino WIFI shield to USB port via Mini USB cable. Then unzip and install the AVR32 USer.Then we’re available to program and flash the firmware for WIFI shield now! At the same time, we got the way to compile and program the code for AT32UC3 series 32bit microcontroller also! (^o^)/

Upgrade firmware for WIFI shield

1.Open AVR32 Studio 2.6 (Maintain your WIFI shield connected to the USB via Mini USB cable)2.Close welcome page3.Create a AVR target for programming by pressing the button highlighted in the picture below
4.Right click the New Target and choose properties! Set the properties like the pictures shown!


Set the Name: AT32UC3 DFU

Choose USB DFU mode as Debugger/programmer Device:AT32UC3A1256 Clock source: Internal RC oscillator Board: STK600

5.Then right click on the Target we created, choose program! From the file path, open the firmware downloaded from Arduino official WIFI shield github.Path of firmware: masterwifishield-masterfirmwareinarywifiHD.hex Choose Options: verify memory after programming Start executing after programming Erase flash before programming also 6.Then press “OK” to start programming! If there’s no error report, it means we’ve upgraded the new firmware to WIFI shield successfully! You could check the programming report also by viewing the “Console”. (To view the console, press the button highlighted in the picture)Note: By using AVR32 studio 2.6, you could import the WIFI shield source code to the studio also. Then you could modify the code and compile your own firmware for your WIFI shield! Now we could try to use the new firmware of the WIFI shield.

Scan the WIFI network to test the WIFI shield

1.Remove the Jumper cap on the WIFI shield. Then remove the Mini USB cable and connect the USB cable for the Uno. 2.Download and install the WIFI library to your Arduino IDE. Then upload the code to Arduino Uno. Or directly install the library included in the files downloaded from github. Link for WIFI shield reference: http://arduino.cc/en/Reference/WiFi 3.Open the Arduino serial monitor to check the status of the scanning network function.
Actually, you could use the batchisp to upload the firmware to the AT32UC3A1256 microcontroller also. But I’m not familiar to use the command line to program, so I choose the AVR32 studio. Also AVR32 studio could be used to modify the code of WIFI shield. It makes it possible for me to add some custom functions to my WIFI shield also. Hope this tutorial is helpful and good enough for you to learn how to program your Arduino WIFI shield! Thanks for reading.  

Related links