Creative Commons images are CC BY-NC-SA 3.0

84.95

added to your
shopping cart

quantity
In stock 553 in stock
84.95 1+ units
76.46 10+ units
68.51 100+ units

Description: The Arduino WiFi Shield allows an Arduino board to connect to the internet using the 802.11 wireless specification (WiFi). It is based on the HDG204 Wireless LAN 802.11b/g System in-Package. An Atmega 32UC3 provides a network (IP) stack capable of both TCP and UDP. Use the WiFI library to write sketches which connect to the internet using the shield. The WiFI shield connects to an Arduino board using long wire-wrap headers which extend through the shield. This keeps the pin layout intact and allows another shield to be stacked on top.
 
There is an onboard micro-SD card slot, which can be used to store files for serving over the network. It is compatible with the Arduino Uno and Mega. The onboard microSD card reader is accessible through the SD Library. When working with this library, SS is on Pin 4.
 
Arduino communicates with both the Wifi shield's processor and SD card using the SPI bus (through the ICSP header). This is on digital pins 11, 12, and 13 on the Uno and pins 50, 51, and 52 on the Mega. On both boards, pin 10 is used to select the HDG204 and pin 4 for the SD card. These pins cannot be used for general I/O. On the Mega, the hardware SS pin, 53, is not used to select either the HDG204 or the SD card, but it must be kept as an output or the SPI interface won't work.
 
Digital pin 7 is used as a handshake pin between the WiFi shield and the Arduino, and should not be used.
 

Note that because the HDG204 and SD card share the SPI bus, only one can be active at a time. If you are using both peripherals in your program, this should be taken care of by the corresponding libraries. If you're not using one of the peripherals in your program, however, you'll need to explicitly deselect it. To do this with the SD card, set pin 4 as an output and write a high to it. For the HDG204, set digital pin 10 as a high output.

 

Features:
  • Connection via: 802.11b/g networks
  • Encryption types: WEP and WPA2 Personal
  • on-board micro SD slot
  • FTDI-style connection for serial debugging of WiFi shield
  • Micro-USB for updating the WiFi shield firmware
  • open source firmware making it possible to add new protocols directly on the shield.
  • If you are familiar with C and the AVR32 family you can even use this shield as a standalone wifi connected microcontroller.

Documents:

Comments 75 comments

  • mmh.. yeah too pricey. I would get the raspberry pi before I go for this

  • Is the green-wire fix on the production model?

  • received today at 3

    It is working after 5 minutes

    Client server

    This is a cool thing.

  • Are the EAGLE files posted here before or after the “green wire” fix was corrected?

  • would love to see the libraries ported for compatibility with the Due.

  • Just got this shield for a project. The purpose of the project is to have a standalone Arduino running and have the ability to control it from my phone. Using a webserver on the Arduino side and the browser in my iphone seemed like a good way to do this.

    From the research I’ve done however, it seems that the only way for the Wifi shield to work, is that is first must get an IP address assigned from a DHCP server, and then the phone can contact the Wifi shield. I got this to work, but this won’t work for a standalone - i.e., no DHCP server - application.

    IMHO, this is a huge shortcoming for a device (Arduino) which is purposely designed to run standalone. Does anyone know if there is a fix in the works for this… uh, SPARKFUN??

    Thanx, JG

  • Is this shield capable of creating a wifi network for devices to connect to? If not, is there something that does this?

  • Are the headers already soldered? Sparkfun has them unpopulated generally ..?

  • how to connect wifi shield R3 with arduino mega 1280 ? are they compatible ?

  • If this solution is too expensive, you could try this solution. The guy managed to send data out of his Arduino with a <20$ Chinese WiFi router.

    It worked for me to send my sensor data to Xively. I suppose two way communication could be achieved if needed.

  • newb question here! I’m starting to use Sparkfun open source designs and along with this wifi shield (and some others), I see that the Eagle Files need additional dev/pac/sym libraries in order to solve inconsistency in Eagle. So… does SF provide these libraries too? or the Eagle files here are just for reference?

    Thank you! PS: I’m learning electronics and Arduino & SF have been great companions so far :D

    • This isn’t actually a board we make in-house, so the Eagle files are what we get from Arduino for this one. We do make our SparkFun libraries available here. I wouldn’t be surprised if Arduino had a library somewhere as well that includes all of their additional parts.

  • So total of 6 pins needed which can not be used for any other purposes? That’s a bit too may, no? Even if the SD card isn’t needed one still can’t reuse the SS pin

  • This thing doesn’t work. Sounds nice and all, but it simply doesn’t work. I paid $85 for this item and I shouldn’t have to fix it myself. I’m returning mine tomorrow.

  • Just got this and was very frustrated with it until I updated the firmware. It would connect to the wireless network but could not do anything else. I used the instructions from “Ludgy” on this forum to do it via command line on a PC: http://forum.arduino.cc/index.php?PHPSESSID=d3omb01qsi282gci6ptf495e86&PHPSESSID=0g864usaihcj5af5uckifaso93&topic=180445.0

    After the firmware update, all sample sketches are working great!

    If this thing were a little cheaper, I would buy a handful.

  • Could I use this to make a robot that i could control from across the world? Of course given that both the robot and i have a wifi connection.

  • could I get similar results of an UNO plus wifi shield as i would get with the new yun?

  • can i use it to practice some dsp projects?

  • Did anyone had this problem where the examples don’t work? The only thing that works is the connect part, the shield connects to the network but the rest doesn’t work.. any ideias?

  • I am having trouble sending long messages with client.print() I can send short messages around 90-100 bytes at a time but not longer than that. Here is some discussion on Arduino forum:

    http://arduino.cc/forum/index.php/topic,161642.0.html

    • pylon on arduino forum has traced this to a 100 byte buffer in firmware. There will be no benefit upgrading firmware. You are better off now.

  • i want to connect my arduino uno to my pc through the internet (sending and receiving data), i use a wifi shield R3, but i can’t release an UDP or TCP connection… who can help me…… Thx

  • I downloaded the WiFi library from Arduino and tried a simple example sketch they provided and it will not compile. Even a skeleton sketch with #include fails to compile. Anyone else having this problem?

  • I see from browsing the firmware source for this shield that some changes have been made. I really need a shield that can (1) act as an access point and (2) accept a hard coded IP address. Can this do that yet?

  • Any chance that they will be supporting an OSC library? I can’t find any libraries online that allow the Arduino to receive/send OSC codes directly (without Processing).

  • Hey, I would really appreciate it if anyone could find me a way to reconfigure arduino wifi shield’s pin 7 (Handshake btw arduino and wifi shield ). The reason for it is that my custom arduino uno board is permanently hooked with motorcontroller at pins 5,6,7,8so there is an overlapping at pin 7, so unfortunately my brand new wifi shield would not work. I would really appreciate a soulution for this mess.

    P.S. Pin 2 on my arduino uno board is free and my arduino uno board doesnt have SCL and SDA pins

  • Is there a way to set a static IP for the Arduino Wi-Fi Shield? I cant find any method in the library?

  • One thing to be aware of - if you use a watchdog timer on an Arduino to force the Arduino to reboot (only know I way to do it without adding wires), the Wifi Shield doesn’t seem to reboot with it. When the Arduino comes up again, it sometimes cannot find the shield anymore. The solution is to power cycle.

  • Some answers:

    Does this work with the Leonardo? Yes, right out of the box.

    i couldn’t find if it needs an antenna or not ? Built-in antenna. The range, however, is nothing fantastic, and orientation matters. I’m at -70db through a sheet of glass and 70' or so of open air. TCP connections are pretty stable at that signal strength; the connection drops maybe 1-2 times a day and reestablishes pretty easily. Around -85db, connections get quite flaky.

  • I just installed the latest wifi firmware and still cannot get multi-byte read to work… I’ve seen issues posted previously elsewhere; anyone have any ideas on this? any working example? I need speed for playing audio (pwm) from wifi… tnx

  • Apologies for newbie question here. Thanks for your patience. Why would you spend $85 for this instead of $25 for a USB host shield and $15 for a wifi dongle? Wouldn’t that give you the same functionality?

    • Technically yes but practically no. Just because a piece of hardware has certain function (such as wifi in the USB dongle) doesn’t mean whatever connects to it knows how to utilize it. The Arduino needs a device driver for every USB device connected to the host shield. I simply don’t see device manufacturers very motivated to write device drivers for Arduinos. Arduino is like a child, with nothing in the mind, and you are handing the child a unified field theory book written in English as an alien. You think the earth child can read English and thus understand the theory?!

  • What about the power supply?

  • hi there…

    i’m gonna buy one of this… but i couldn’t find if it needs an antenna or not ?

    • It has an integrated antenna so answer is no, it doesn’t need an external antenna.

  • Does this work with the Leonardo? I’ve heard conflicting stories.

  • Am I missing something? I’m trying to get online with the ConnectWithWEP example sketch. The ssid and network key are the same that I use to connect every other wireless device in the house. I get the “attempting to connect…” message in the serial monitor, then the red “error” light comes on. The key index should be 0, but I’ve also tried 1-3. The shield is connected to an UNO R3. Any advice?

    • Make sure you are using the hexadecimal representation of the key and not the ascii pass phrase. Also check if the access point is set to 64 or 128 bit encryption and use the appropriate key size.

      • I am working on what must be a very common system in the U.S. - a 2WIRE router supplied by my Internet service provider. Printed on the bottom of the router is a 10-digit number that I have seen referred to as a hex key. This number works as the network password. There is an option to change this number to a phrase, but I haven’t bothered.

        I tried treating the number as a single value (in the billions) and converting to hexadecimal, but no luck. I treated the number as ascii characters, still no luck.

        The router’s 10-digit number is the only key that gives any type of feedback (the red error light). Anything else and all of the board’s lights stay off.

        I believe that the network uses 64 bit encryption. What would the appropriate key size be?

        • 64-bit WEP uses a 40 bit key (i.e. 10 hexadecimal characters 0-9,A-F). Sounds like you have your key. You might consider using the more secure WPA2 on your network.

          Were you able to get the scanNetworks and ConnectNoEncryption examples to work? That would tell us if your board is good.

          Alternatively, instead of using the WiFi library try connecting to your router by sending serial commands through the FTDI port and set some of the debug sections to verbose. This should give more info about what is causing the red error light.

          See http://arduino.cc/en/Hacking/WiFiShield32USerial

          It may be an issue of using Open System authentication and Shared Key authentication. It could be a lot of things. Watching as the board connects in verbose debug mode will help isolate the problem.

          • I can scan and connect to unsecured networks. The schematic shows 5v for the FTDI. Is this what I need?

            https://www.sparkfun.com/products/9718

            Will I be using the Arduino IDE serial monitor for that communication?

            • With the TI TXB0108 VOLTAGE-LEVEL TRANSLATOR in the schematic, the Rx/Tx lines can be 3.3 or 5v. So this will work as well, https://www.sparkfun.com/products/9717

              I do not think the Arduino IDE will work. I use the serial mode in the recent versions of puTTY from Simon Tatham. There are other serial port terminal applications. The Arduino site mentions CoolTerm but I’ve never tried it.

              • [SOLVED] I got it working by changing the settings on my home network. Switching from WEP-Open to WEP-Shared authentication has taken care of the problem.

  • Has anyone the opportunity check the compatibility with Seeeduino Mega? Thank you!

  • How does one program the AVR32 in this? Anyone done it yet? Hope to use this as standalone 32-bit microcontroller board.

    • Looks like the USB bootloader is in place. Better yet I see a Jtag on the schematic which would work with a debug pod. Atmel studio is free and powerful. I have used UC3 AVR32 at work, they are about equal to ARM Cortex M3. Anyway, I have been pondering stand alone too. It depends what the source for the on board software is like, if it will be practical and fun.

  • Hello, can you tell me, how much current the shield uses? I can’t find it nowhere specified.

  • Is there anyway to add an antenna to this bad boy?

  • Love it how the Atmel on the shield completely smokes the shoes off the little chip on the Arduino. Why not leave the separate Arduino out of the picture completely? I guess it’s a different compiler? (for the 32 bit?)

    • Can one load sketches directly on this shield?

      • yep–that’s what the usb & FTDI are for if i’m not mistaken–It can act as a stand-alone arduino as well

        • Absolutely not! Arduino sketches do not run directly on to this shield. The firmware for the shield can be updated but it is not written with the Arduino environment.

          • If you are familiar with C and the AVR32 family you can even use this shield as a standalone wifi connected microcontroller.

            It says so in the product description–last bullet

  • Ugh, i’ve been waiting a few weeks for stock. When can I expect to buy this shield?

  • I bought a pair of these to replace some old OpenElectronics.com WiFi shields. The old shields are feature-rich, but unstable due to a memory leak somewhere in the stack I’ve not been able to pin down. Support is limited to the community for that old shield since the chip is discontinued. Here’s my findings so far on the new Arduino WiFi shield in case it helps anyone else:

    When I attempted to port the old sketch to use the Arduino WiFi library, I see that some key features are missing including hard coding an IP address/subnet mask (critical for server functions). IP functions are available, but appear to provide read-only values - it appears to rely exclusively on DHCP. I suppose if I had a fancier DHCP service, I could reserve and IP address for this device, but I don’t currently have that capability.

    Also, I found that the MAC address on the box was wrong (not even close) which resulted in a lot of hair pulling for me since I filter WiFi connections by MAC. I had to run a sample sketch in order to find the actual MAC address.

    In the documentation, it says it only supports WPA2 “Personal” encryption and not “Enterprise”. I had no idea which one I was using, but was happy to discover that it not only connected to my SOHO WiFi router, it connected MUCH faster than my old WiFi shield.

    What I really need right now is a source code sample that shows the use of HTTP GET or POST. This product has only just released, and the sample code the Arduino has published is very basic. I’d greatly appreciate someone pointing me toward additional sample code.

  • any info if it has ad hoc ? Don’t see mention anywhere

  • I can’t find the open source firmware of the AVR32.

    Apparently the firmware of the AVR32 is on the H&D Wireless website, and also you need an account to download the firmware, AND your account must be manually approved. AND I just used a bunch of junk credentials so I guess I’m SOL for now.

    So if you sign up, use “real credentials”, fake company name and custom domain email.

  • So this is almost a separate Arduino with a Wifi chip and MicroSD slot? All just to offload TCP/IP from the actual Arduino. Overkill perhaps? And no wonder it’s so pricey.

    • wifi is always pretty pricey. even our own shield is about this much. the modules are expensive, so BOM cost is quite high.

  • so who’s going to be the first to build a web server with this rig? a 2GB microSD card is fairly cheap, and the arduino uno should be more than capable of a simple web interface.


Related Products