About Here

This web blog is established for collecting useful information about building prototype with arduino or other applications. This page shuld help a designer with very basical technical cognition to build a working model or a prototyp for his design concept. We find prototyp or working model an excellent tool to test concept and understand it's usage in real condition (not only fantasy in mind). It's ofter very hard to realize every functions of a design concept. However it's our goal here to make this task easier.

What should be always keeped in mind is that we are not engineers and it's not our goal to design a perfect electron programme control. We are designers who are more willing to understand the users through prototype testing.

This web-site is still under construction and more information shall be collected. :)

Dec 27, 2013

Upgrade Arduino WiFi-Shield firmware

I am newly studying the interaction between arduino and xively.com. The interaction was first designed for arduino ethernet but now I need the sketch run with WiFi. I use the WiFi shield and Arduino MEGA 2560. Although the internet seems work, my arduino just cannot get the xively data from internet. Even the example sketch of "wifi web client" doesn't work properly.

Finally I tried to update the firmware on my wifi shield. The introduction from the official arduino page is correct but lacks clear step-by-step explaination. Some other online solutions don't work on my shield. This article is written after my finally finshing the update and solving some problems. The final process I found out is actually relative simple and requires only a few downloads (I use windows):

1. Get DFU Programmer:
download FLIP for Windows (I got the version 3.4.7) and install the program. http://www.atmel.com/tools/FLIP.aspx

2. Get latest firmware
For me, it's the worst part in the official introduction, since the github page in the introduction has no download option and I think the document just doesn't exist any more. I found some other firmware versions in other online introductions but had no idea which one is the latest one... So I decided to upgrade the wifi shield with the firmware in the arduino IDE folder.
Go to your arduino program folder and go into: \Arduino\hardware\arduino\firmwares\wifishield\binary\
You can finde tow files wifi_dnld.elf and wifiHD.elf. These are going to be uploaded to the shield.

3. Connect J3 jumper:
The "J3 jumper" is the DFU programming jumper.
Connect thes two pins with jumper. Now you can connect the WiFi shield without Arduino Board to your computer by a Micro-USB cable.

3. Process upgrade
The "Windows procedure" in the arduino official introduction is conceptual correct but has some failure. First you have to open command prompt of windows and type:
enter
cd C:\Program Files (x86)\Atmel\Flip 3.4.7\bin

Now upgrade the wifi_dnld.elf file by enter
batchisp.exe -device AT32UC3A1256 -hardware usb -operation erase f memory flash blankcheck loadbuffer "C:\Program Files (x86)\Arduino\hardware\arduino\firmwares\wifishield\binary\wifi_dnld.elf" program verify start reset 0
The red part sould be the path of your wifi_dnld.elf file. Note that there should be a quote("") for the path. Press enter. You should see some process running in your cmd window. Let it finish.

Than upgrade the wifiHD.elf by enter
batchisp.exe -device AT32UC3A1256 -hardware usb -operation erase f memory flash blankcheck loadbuffer "C:\Program Files (x86)\Arduino\hardware\arduino\firmwares\wifishield\binary\wifiHD.elf" program verify start reset 0
The red part again should be the path of your wifiHD.elf file.
Press enter and you will see some other running process. Wait until finished.

4. Upgrade finished.

Somehow, my WiFi shield is not detected after my upgrading. I upload the sketch "ScanNetwork" in the WiFi example and reconnect the shield, than the shield works again.

I uploaded my xively sketch and it works fine now.

Good luck to you!

Reference:
Arduino - Upgrading the WiFi shield firmware http://arduino.cc/en/Hacking/WiFiShieldFirmwareUpgrading
http://arduino.cc/en/Main/ArduinoWiFiShield
http://www.atmel.com/tools/FLIP.aspx
http://forum.arduino.cc/index.php?topic=158451.0 (the only online solution works for me)

No comments:

Post a Comment