Ok, so you got the message in the Arduino SDK saying “Please upgrade the firmware” or “WiFi shield not present”, then it’s time to carry out an upgrade.
Don’t worry, everything you need is in the Arduino SDK package already on your computer. You’ll need to use the terminal, and to have root access
to your computer. This how-to is on how it’s done on a Mac, but you’ll hopefully find it useful if you’re on other computers too. I’m taking it step-by-step so also newbies can do it without calling their IT support, dad, son or 10yo neighbour’s kid.
This is how to go about it:
- Set the jumper J3 (see pic) by bridging the two pins with the plastic connector. Then connect the shield (not the Arduino) to a mini USB 5 pin connector cable (a.k.a B5), the Arduino can be unplugged while you don’t need to take the shield off physically, plug the other end in the computer. If the red LED goes on, you can press the shield’s reset button – the white button in the upper-left corner of the shield.
- Open the Terminal.app on your mac, go to the upgrade script: In my installation, the scripts for upgrading hardware was found here (my commands in bold typeface):
- Once in that directory, make the script executable with the chmod command, you will need to be root or a user with admin privileges to carry out this operation:
- You’re now ready to run, take a deep breath. You can either only upgrade the shield (-f shield) or both the antenna firmware and the shield (-f all). My Arduino installation carrying the /hardware folder and its scripts, firmware et cetera is located at /Applications/Arduino.app/Contents/Java/ which you also need to state, as it defaults elsewhere. This is the command to use. Check with pwd command that you’re in the scripts folder, or it will fail:
- Follow the on-screen guide in the Terminal window, press RETURN and the reset button when asked, and you’re done. Unplug the mini USB from the Wifi Shield, and resume normal operation.
sudo chmod 770 ./ArduinoWifiShield_upgrade.sh
pwd /Applications/Arduino.app/Contents/Java/hardware/arduino/avr/firmwares/wifishield/scripts sudo ./ArduinoWifiShield_upgrade.sh -a /Applications/Arduino.app/Contents/Java -f all
This guide has been inspired by this webpage on upgrading the shield firmware, along with some trial-n-error so you won’t have to. This link also describes how to install the dfu-programmer executable if you don’t have one onboard.
- Turn a LED on/off, controlled from your Android/iOS device
- Control a Lunar Lander game using an Arduino as game controller
More examples and tutorials for connected things can be found under evothings.com/developer
Estimote, Kontakt and Radius Networks are upping their hardware offerings, here’s some things you need to know.
Evothings Studio 2.0 is a Saas solution, bringing on a wide array of possibilities for the IoT developer. Join the growing community and learn more about the benefits of using Evothings Studio for IoT app development.
A simple way to build and sign your app for publishing, is via a build service. Adobe’s Phongegap Build is one for the candidates.