Ever wanted to connect your electronics & Arduino to the web, via your home WiFi no less? Turns out it’s super easy with the WiFly chip by Roving Networks. I connected my Arduino Duemilanova to a network in a couple hours. It blows my mind how cool this is… connecting a 10$ micro controller to a wireless network?? That is really really sweet! I wanted this chip first for this home-automation project I’m working on, I didn’t do a lot of research ahead of time, but I was very pleasantly surprised with how easy it was to get it to work thanks to the great library & tutorials provided by the Arduino community.
Starting with this tutorial, I found a number of things that were out of date, and an ommision that is potentially DAMAGING to your chip. You need a voltage divider to convert the 5 volt pin’s of the Arduino to the 3.3V expected by the WiFly’s serial input.
1) Do it, it’s totally cool
2) Read my updates to the tutorial below
2) Follow the tutorial, keeping the changes in mind
The build list is super short:
10K Ohm Resistor (2x), 20K Ohm Resistor (2x), 100 Ohm Resistor (3x), Arduino Duemilanova (1x, or similar), WiFly Chip (1x, from Sparkfun or similar, I used the RN-XV), generic LED’s (3x).
This already short build list could be further shortened; the status indicator circuit (100 Ohm Resisters & LED’s) isn’t really necessarily… as long as everything works the first time 😉 Also, the resistors used in the voltage divider (here 20K & 10K) could be altered so long as the ratio is between ~1.7:1 & ~2:1, and the values are in the 10’s of K Ohm’s.
Download my project code and wiring schematic here:
WiFly Arduino Project Example & Schematic (.zip)
I include a super easy Arduino project example, an updated version of the one given in the tutorial above (updated as of July 13 2012).
WiFly Arduino Wiring Schematic (.PDF)
How to connect your arduino to the internet using a WiFly chip
I just got this to work with my Arduino Duemilanove & RN-XV using Arduino 1.0 IDE; however, it took some changes from the tutorial:
Updates to the tutorial, a couple notes:
1) In initSettings():
instead of: WyFly.SendCommand….
Make sure you’re editing your “Credentials.h” file in your example folder for the ssid & passphrase
“Time” the library, is no longer posted on the main Arduino library page, however it is still available here: http://www.arduino.cc/playground/uploads/Code/Time.zip
For pin’s 3 & 4 of my Arduino Duemilanove & RovingNetworks RN-XV I put a 10k Resister in series, then connected a 20k resister in parallel with the Tx&Rx pins of the WiFly chip & Ground (see schematic above). Before I did this, it would not connect to the network (probably because it was not communicating properly with the Arduino). This is a voltage divider circuit, it is **needed** because the chip’s datasheet clearly says you can only use up to a 3.3 V +- 10%, not the 5 V which pins 3 & 4 of the Arduino output.
After these changes, it’s working great! Wahoo! Thanks for the great tutorial & happy hacking