sku: WRL-09954
Description: This new version breaks out the PI09, FORCE WAKE, and the hardware reset lines. It also has a different crystal and uses the RN-131C.
The WiFly Shield equips your Arduino the ability to connect to 802.11b/g wireless networks. The featured components of the shield are a Roving Network's RN-131C wireless module and an SC16IS750 SPI-to-UART chip. The SPI-to-UART bridge is used to allow for faster transmission speed and to free up the Arduino's UART.
Power is taken from the Vin pin of your Arduino, regulated to 3.3V, and provided to both the RN-131C and the SC16IS750. You'll communicate with the WiFly Shield over SPI using Arduino digital pins 10-13 (CS, MOSI, MISO, SCLK respectively).
The shield includes the RN-131C, SC16IS750 and their supporting components. The shield also provides a small prototyping area, with 0.1" spaced holes. Headers are not soldered on, we recommend the 6 and 8-pin stackable headers.
Documents:
Replaces: WRL-09367
PRT-09280
Arduino Stackable Header - 6 PinPRT-09279
Arduino Stackable Header - 8 PinDEV-10914
Arduino Pro 328 - 3.3V/8MHzDEV-10915
Arduino Pro 328 - 5V/16MHzDEV-09526
KTA-223 USB/RS485 Relay IO BoardWRL-10505
GainSpan WiFi BreakoutDEV-09832
Mux ShieldWRL-10050
WiFly GSX BreakoutWRL-00662
Interface Cable RP-SMA to U.FLPRT-10007
Arduino Stackable Header Kit
Comments 78 comments
42$ for a shield (2$ for headers), I can buy 2x Arduino Pro’s for that.
You can buy 200 Arduinos and still not be able to connect to wi-fi ;–)
$42?
This is $90.
Look at the price of the WiFly module alone, then subtract it’s price from the price of this shield, that’s what he’s talking about.
Oh, that makes sense. My bad :)
maybe you can compare it with http://www.geekonfire.com/index.php?main_page=product_info&cPath=7_48&products_id=83.
Is it possible to use this with an SD card shield? I’m getting the impression they use mostly the same pins… Is there some other solution where I can add an SD card for storage and WiFi to the same Arduino?
Yes, it’s possible to use this shield with the MicroSD shield. I know because I’ve done it. :)
The pins the two shields can and do share are used for SPI communication but they still have separate “chip select” pins which means the two shields can co-exist.
Please contact techsupport@sparkfun.com, they can help you with technical questions.
Can it use as sniffer? Can it recive all the packets in the network?
Contacted support, but in the meantime…From the different placement of the UART pins on the MEGA 2560 from the Demuilenove, will I be prevented from using this shield? Thanks
Check it:
http://forum.sparkfun.com/viewtopic.php?f=13&t=22067
Please update the link to the Experimental WiFly Arduino Library to the latest alpha 2 release. The currently linked library is the old version won’t work with the latest revision of the shield.
Or maybe also to the github repository.
Does anyone succeeded in modifying the library for use with the Maple?
Alas not – despite the claims on the LeafLabs site.
I’ve been trying to do this for a while, have you had any luck?
(sorry for the formatting, don’t know how to post properly on this forum) Yep, i finally sorted it out … Note that the following is for the SPI1 port, but can be easily modified to match the SPI2 or SPI3 port if available …
In “_spi.h”, include the “stdint.h” and remove the “pins_arduino.h”
In “spi.c”, include headers “Spi.h”, “libmaple.h”, “spi.h”, “wirish.h”
deselect(); }
I was wondering why do you convert the uart from the wifly to SPI when the wifly has SPI built into it?
The WiFly module does not currently support SPI in the module firmware.
maybe you can compare it with http://www.geekonfire.com/index.php?main_page=product_info&cPath=7_48&products_id=83.
How can i use this wifly shield with
Arduino Mega 2560? Is it possible to use this with mega 2560?
I want to adquire a mega 2560 (if there´s stock soon xD) with this shield.
New to the Arduino and Netduino, just bought the WiFly shield but it comes with no pins. I’m sure this is a real newbie question, but what’s the normal way to solve this? I’m guessing put “pin blocks” (I think also referred to as extenders) through the top of the WiFly shield, and solder the bottoms?? Really don’t want to break this thing before I’ve even tried it!
Can anyone point me to connecting up the WiFly with a netduino?
solder on the top, pins should be facing down.
anyone use this on the fez panda?
I am trying to get this to work on a Fez Panda. The lights dont light up when I connect it to the panda. They are fine with an arduino. Is there some type of power issue that I might need ot deal with?
Can I suggest for the next revision of this board that you add a row of solder pads on the inside of the existing through holes so we can solder wires from there to the proto area? I’m using this on a mobile-ish device and I don’t want loose wires in prototype headers to be yanked out while walking around.
I hope there will be some more (and easier) project tutorials.
I’m trying to make my iPhone talk directly to my arduino with WiFly shield using an OSC handler without using processing on my PC (goal: light up 3 LED’s with 3 buttons and 3 faders).
Anyone succeeded in creating a similar project?
Did you get this working?
Just like @ovidiup, I have accomplished this with the Ethernet Shield.
I am happy to send you my sketches…
Check out my TinyWebServer project. It uses a regular Ethernet shield, not the WiFly shield, but it does exactly what you describe. There’s a video that shows it in action:
http://www.webweavertech.com/ovidiu/weblog/archives/000484.html
this shield does not break out the hardware reset lines as stated in the description!
Any idea as to the lead time of this?
Could I create AP on Arduino using this WiFi shield? I want to have options to connect to internet directly or to host access point and connect to Arduino with smartphone/laptop.
I keep getting this “locking up” message as well. Feel like I’ve tried everything and can’t get this shield to work. Anybody have any sage advice?
What is the digital pin 7 used for? It wasn’t mentioned as being used by this shield in the description.
Ok, so it appears the digital pin 7 is just an external interrupt on the SC16IS750. I ended up having to cut the trace as my other shield uses digital pin 7. I would make one suggestions for the next rev of this board.
1. Make the D7 pin a solder jumper so folks can choose to use it or not.
I have a similar problem. Could you tell me how did you cut that trace? Thanks!
The readme.txt file in the WiFly library says:
If the network you want to connect to has no passphrase you can use this form:
if (!WiFly.join(“ssid”)) {
}
After a number of hours of banging on this, I seem to have determined that it should say “you MUST use this form”. I was always unable to join an open network when making the WiFLy.join call with 2 args; I have been able to connect when I call it with only 1 arg (the ssid).
In addition, once I made a 2-arg call even once, it would never join again (even with a 1-arg call) until I had issued a “factory RESET” command.
I changed the code in the sample WiFly_WebClient program FROM:
WiFly.begin();
if (!WiFly.join(ssid, passphrase)) {
TO:
int joined;
WiFly.begin();
// apparently, it’s necessary to omit the second (passphrase) argument, if joining an open network!
if (strcmp(passphrase, “”) == 0) {
}
else {
}
if (!joined) {
This has not been extensively tested yet, but appears to solve the problem.
I made a small robot with the WiFly.
Check my video!
http://www.youtube.com/watch?v=tjR969Vp0Cw
I’m using this with a new Arduino UNO and can get into command mode with $$$ and enter commands and receive text back from the WiFly.
When I attempt to associate with my WPA-PSK protected NetGear WNDR3700v2 router I get AUTH-ERR even though every other device on my network can connect with the router just fine.
(and yes, I did set the SSID and PassPhrase)
It was mentioned elsewhere that the shield may need to be moved away from the Arduino because of a “bad ground on the Sparkfun Shields” before being able to connect. I’m not sure how much there is to that but can anyone else here offer up any suggestions on why I’m not able to connect?
Update 7/17/2011:
MY BAD! Turns out I had the wrong WLAN AUTH method set. Unit now connects extremely fast to the WNDR3700 (N600) router using AES encryption. Powered it up with a battery and walked two blocks down the street and still didn’t lose the connection. Awesome!
Many SPI based shields hardwire the /CS pin to Arduino D10, making it difficult to use different shields or even more than one in a stack. Could you make it easier to rewire /CS (and /INT, D7) to different pins? Maybe not a full up set of jumpers, but cutable/jumperable pads would be appreciated…
Guys, since I’m having issues with the latest firmware and the WiFly library alpha 2, I forked genetikayos’s alpha 2 library and added new functions and will have support for firmware versions 2.26 and above.
https://github.com/jaycollett/WiFly-Shield
Without the pinout hole on the breakout board (as provided on the WRL-10050) what’s the best way to connect the 3.3Vdc to the PIO9 to start up the Wifly in ad hoc mode?
My WiFly is working great except for one thing: As long as my Arduino (UNO) is powered via USB, the WiFly powers up fine. However, if I use a DC power adapter, only the UNO powers up.
I’ve checked the power pins at the WiFly under both situations with a voltmeter, and they read as follows:
Powered vía USB:
+5: 4.98
+3.3: 3.34
vin: 4.25
Powered via 9v 1000ma DC power supply:
+5: 4.3
+3.3: 3.14
vin: 8
I’ve also tried this with two different Arduinos with the same result. Is this normal? I’d really like to be able to power my device with something other than a USB cable.
Otherwise, everything is working great.
Update: Oddly enough, I can also run the whole thing off of a 9v battery connected to the vin and gnd pins of the WiFly, so I suppose to can add a power jack straight to those. Seems odd that it doesn’t work through the built-in jack of the Arduino, however.
All I want to do is send a udp stream which consists of 8 numbers. Ideally at around 30 times a second. Is that possible with this or must it just serve pages? Sorry if this is a dumb question, I’m not a network guy.
A few words of warning: The WiFly Shield is a 3V device. MANY Arduino boards are 5V devices. 5V Arduino boards are even listed as ‘related products’ for the 3V WiFly Shield. DO NOT PLUG A 3V WiFly SHIELD INTO A 5V MAIN BOARD UNLESS YOU HATE MONEY.
Last year I bought an “Arduino Main Board” and an “Arduino WiFly Shield.” I foolishly plugged them together and started programming — because of course they’re designed to work together, right? There goes $90 down the toilet! The 5V main board signals seem to have killed the NXP SC16IS750 SPI-UART bridge on the 3V WiFly Shield: the bridge does not respond to SPI commands.
I should have double checked the data sheets before plugging these ‘related products’ together. The boards should have been designed so that 5V and 3V devices could not be connected accidentally. The website should have overtly warned that the WiFly Shield is not compatible with most Arduino boards. Shoulda, shoulda, shoulda… Buyer beware!
well, according to the SC161S750 datasheet, Vih = 5.5V max, so it should be able to support arduino’s 5V logic. Hopefuly thats not the reason it stops working. :)
I don’t think you are right! The datasheet looks good and I have my shield plugged into a standard (5V) Arduino right now and it works just fine…
Here’s an example use of the same module used by this shield ( I’m actually using the the RN-134 board, which is simply Roving Networks' board around the very same RN-131 module) to connect a vacuum tube to the Internet and display tweets:
https://trandi.wordpress.com/2011/09/26/vfd-clock-connects-to-the-internet/
Dan
The RN-131C Datasheet, page 5, says pin 22 (DMA-TX) should have a 100K pull down if ultra low sleep power is required. Page 9, item 8, clearly spells out that pin 22 must be pulled low with 100K to achieve 4uA in sleep mode.
There appears to be no way to do this as there is no access to the pin and the pcb does not track it out to a blind solder pad or anything.
In my battery powered device this low power mode is essential.
I looked at the Eagle board file, and with considerable risk I could try to route/mill/scratch a hole through the pcb to get to pin 22… The chance of damaging a $90 device is pretty high!
Have I missed something…???
Sparkfun – please comment…
I’m using mine with a small solar-charged battery and have gone with a zero-power mode for the WiFly shield. I cut the VIN pin and control power to the shield via a small relay, controlled by a digital pin on the Arduino.
I just power up the WiFly when transmitting and power it off afterwards. Hopefully that option might work for your application.
Can someone confirm that this shield is NOT compatible with 5V Arduinos? I have trouble believing this. Even a 5V Arduino has a 3.3V header…
I’ve got one of these plugged into a standard Arduino Uno (DIP version), and it’s working just fine with no apparent ill effects. As near as I can tell from the board, it pulls power from the Vin pin and runs it through a regulator to get its 3.3V.
i erased my comment. love the shield…now if only there was an easy way to convert sketches written for the ethernet shield…
Just a quick update on the wireless water sensor project linked to above; I’ve solved what was (for me) an issue with reliability of the comms.
Implementing a combination of the Arduino watchdog and using a small relay to control power to the shield has made it rock solid and very tolerant of any network or remote server issues.
I’ve updated my original blog post with more detail and the code.
http://lifeboat.co.nz/the-finished-wireless-water-sensor/
Happy making!
Finally something i can buy that is not out of stock!
Finally something i can buy that is not out of stock!
The WiFly library is not compatible with Arduino 1.0.
There are some update instructions at http://blog.makezine.com/archive/2011/12/arduino-1-0-is-out-heres-what-you-need-to-know.html
It does, however, look like quite a bit of work….
are the tx and rx pins not accessable on the breakout board? is this because they are 3.3v and not 5v? it seems for me a lot cleaner to use simple serial instead of dealing with SPI.
i would have assumed that they would be connected correctly for wiring right into the D0 and D1 pins for RX and TX on the arduino. to me that would make for super simple sending of commands and receiving data, is that not how its setup?
I am connecting it to my fez domino. SPI seems to work as expected. The code for a serial port is much cleaner. however the diagram makes it look like they are only connected to the bridge, is that possible?
Hello there. I just got the Wi-Fly (RN-XV) and it is driving me bonkers!
I try open and mixed security on the AP and no matter what I keep getting AUTH-ERR when I try to join.
AP Side: – no mac address enforcing, WPAv1, b/g, channel 8 WiFLY side: firmware 2.30 SSID=TEST Chan=8 ExtAnt=0 Join=1 Auth=MIXED Mask=0x1fff Rate=3, 11 Mb Linkmon=5 Passphrase=LetMeIn1 TxPower=0
It’s hooked on a XBEE Explorer Regulated and connected via USB to the PC/Mac.
From Putty I join and I get this: Auto-Assoc TEST chan=8 mode=WPA1 SCAN OK Joining TEST now.. Disconn from TEST,AUTH-ERR
Any help is a great Christmas gift at this point!
Thanks – me
Is that the antenna connector there on the module? Which SparkFun antenna(s) are compatible with it?
it has the stick up antenna kind (the firmware allows to set the antenna chip or the external, I used both)
Any chance of getting this shield with the RN-131G (for the industrial temperature range)? I’m using this in an outdoor enclosure where it gets below 0C in the winter often. So far it seems to work, but the RN-131G is actually rated for it (and the same price I think). I like the convenience of the shield and already wrote code to the SPI interface…kind of reluctant to re-write to the UART and deal with soldering the other part. (See www.poolremote.com for what I’m doing with it and the Arduino…controlling hot tub and pool equipment from an iPhone or iPad)
Is there any success track record using this with netduino or fez panda?
TIA!
So I just got this thing.. software is horrid.. Alpha 1, Alpha 2? OK… Stacked it on my UNO and hooked it up to win/mac serial programs but nothing I do/follow can get this thing into CMD mode. I’ve spent HOURS trying to do this.. So very disappointed!
Dear all I have some problem with this shield. I made a server based on example from the wifly library and it works fine, but if one press refresh several times, then it stop responding. What can help – it is not good that any user can hang this application.
What terminal program are you using? I use CoolTerm and it works. The Arduino Serial Monitor does not work. Try the WiFly Autoconnect Example first and see if that works – it starts in CMD mode.
I have just bought the WiFly shield and got it working (more or less) with my Arduino Uno using some of the software provided by Chris Taylor. Now I have two questions that I would be grateful for help with: 1) In the definitions of the addresses of the SC161S750 uart bridge, why are they left-shifted in the #define section e.g. #define LSR 0x05 ?
Here is my second question since my previous comment was cut short. Why doesn’t the newest Wifly library, WiFly-20101217-alpha-2 compile immediately “straight out of the box”? I tried to compile Wifly_WebServer.pde but get various errors such as ‘SpiUartDevice’ does not name a type.
I think the issue here might be that you are working off a newer version of the IDE. What version are you working on? I know 1.0 fails to compile it completely, and I revised back to 021
I’ve been battling the entire weekend with the WiFly shield (Connected to a Arduino UNO). I know think I’ve exhausted all possible steps in debugging this issue. I have also tried this with all versions and some forks of the code and version 0022 and version 1.0 of the IDE.
After uploading and running SpiUartTerminal.pde or the HardwareFactoryReset.pde, the serial monitor just hangs after outputting “Waiting for input:” and doesn’t allow me to enter the command line application ($$$). I’ve tried unix screen, coolterm and the standard IDE serial monitor. I’ve also tested the pins to ensure everything is connected correctly (I finally soldered them to the header pins) and I’m sure it is.
I would really appreciate some help if possible. I’m now suspecting that it is in fact a hardware issue.
It worked again this morning for about 2 minutes. Seems it only responds once its been left for a while (overnight)… Could it be overheating?
heey qoda…i had the same problem where i cannot pass any commands to the wifly through teraterm terminal…i solved it by sending factory RESET command on the same terminal even though you cannot see it being displayed but the rx/tx led on wifly blinks implying that its receiving the command….then i reuploaded the wifly transparent terminal sketch…opened the terminal and there it was displaying the commands… let me know if you get to be able to ping it or telnet coz am stuck there…thanks!!!….
Hi, I tried factory hardware and software resets but wasn’t able to get anywhere, I sent mine shield back to the distributor eventually and they have sent me a new one that they’ve tested themselves. Looks like mine over-heated and was damaged from the start.
hope the new one works just fine…but are u able to telnet and ping the wifly from PC??…it seems there is something stopping mine form being pinged or “telneted” which haven’t figured out yet…
Thanks, yes it worked immediately with the following code: https://github.com/qoda/Arduino/tree/master/WiFiSwitch. Can you ping the IP and do you see it as a connected device on your router? One other thing I noticed that now that I’m connected only the green led flashes when I’m connected, is this the case on your side?
I will check ua code to see if it will work with mine…i can ping the router from the pc but not the wifly… i tried pinging from the wifly but no response…i also checked from the router’s online configuration page and the wifly is listed as one of the wireless clients….its the same on ma side if u mean the P104 LED but how is it blinking on ua side??…mine is blinking slowly meaning ip is ok…
Another thing happened after i did the factory reset on the wifly…it keeps on going on and off after a while…everything completely goes off no LED blinking nothing…strange isnt it…