WiFi Shield unable to connect

Hello all,

I'm fairly new to Arduino, but I have had a little experience.

So my problem is that I'm trying to create a Wifi Web Server to control some LED's. However, the shield does not work properly. When connecting to the WiFi network (WPA encryption), it usually takes between 3-5 tries to connect successfully. The "Error" LED on the shield is red for most of this process. After it does, then I have the Serial give me the IP address of the shield. According to the examples and documentation, I should be able to access the IP address in my browser, but I cannot. The page says "sending request" for a few seconds, and then eventually Chrome gives me the standard "Oops, cant connect" error. I can successfully ping the IP address, but that is pretty much the extent. The code I am using is very similar to the example code here: http://arduino.cc/en/Tutorial/WiFiWebServer I have identified that in the main loop, the first if clause (essentially if server.available()==true) NEVER returns true.

I have used the examples for WiFiWebServer, SimpleWebServerWiFi, and even WiFiWebClient, modifying ONLY the ssid and pass for my network. None of them can connect.

Can anyone tell me why none of these work?

For the record, I am using an Uno, Official WiFi Shield, and have not tampered with the firmware. Apparently, the process worked perfectly using the Ethernet shield, but does not work at all with the WiFi shield.

Regards and thank you in advance.

I am using Arduino MEGA 2560, which has more memory. I'm not sure if that is the reason. Can you tell me which wifi library you are using? I found that the combination of original R3 shield and "latest" (arduino team has no version numbers for anything except their IDE) is a NO-GO. Wait, don't tamper with firmware yet. I have NOT found the original firmware anywhere, which means once you upgrade firmware, there is no downgrade. I have found one intermediate wifi library version that works with the original R3 wifi shield but they have removed it already from github.

Please check your wifi library for date of the files. That's the only clue which library version you are using. Mine has 1/19/2013

Thank you for the reply. I only started on this project this week, and thus downloaded the IDE(which includes all the libraries) a few days ago. I'm assuming this means that I have the latest versions of the libraries?

Again, I havent tampered with the firmware yet. And yes, I am on an Uno R3.

OK, is your Arduino IDE version 1.0.5? If it is, I recommend you download 1.0.2 to give it a try. 1.0.5 has library only working well with the "latest" firmware. Your R3 wifi shield has an unknown version firmware (unfortunately I have not found the version of firmware for an original R3. This version is the most stable from my own arduino server tests. Please don't upgrade firmware and try arduino ide 1.0.2

Also, have you tried other browsers. I found that my chrome browser has a quirk that prevents it from properly loading JavaScript files at times. IE and firefox are fine, so is iOS.

Yes, I'm running IDE 1.0.5 right now. I'll try 1.0.2 and post my results back on here.

Also, I have tried a few browsers, all will the same result. I am currently only sending a blank HTTP header anyway.

Let me know what happens with your testing. Hope you get more stable results. If not, I can send you my wifi library. The Arsuino team is horrible at specifying which library is what version.


I'm using Uno R3 with the official Arduino Wifi Shield as well. Upon changing Arduino IDE from 1.0.5 to 1.0.2, the problem is solved.

Just curious anyone else facing this problem?

Cheers, Bryan

You can count me in. What wifi shield version is yours? Mine says R3. The original firmware works well with arduino ide 1.0.2 not 1.0.5

Same problem over here. Got ping, but no webserver responding.

naikodemus: Same problem over here. Got ping, but no webserver responding.

Did you resolve the problem by using the right version of Arduino IDE?

Yep. That was what I’ve been testing through the afternoon. Right now it DOES work with IDE 1.0.2, and it does NOT WORK with 1.0.5.

In fact, the WiFi shield seems to work smooth and swift, although the answer is a little bit slow sometimes. As soon as I can I’ll leave it on for a couple of days.

Thanks for your help.

Good to know it is working!

Created an account just to share that I had the same problem and the "downgrade" solution worked. You can read a summary below.

]:D [u]Problem:[/u] Arduino UNO R3, original Arduino WiFi Shield and IDE 1.0.5. These were all bought/downloaded in the last month. I used my iPhone's personal hotspot to provide access to the Internet (iPhone uses WPA2 Personal). I could make the Arduino connect to the iPhone, but the connection to Google failed (never got an answer to the HTTP request).

:D [u]Solution:[/u] Downloaded IDE 1.0.2 and run the same code. It worked. Tried it with an Arduino Mega 2560 and it worked as well.

Is the Arduino team aware of this? I know they're doing their best to improve the IDE (thank you!) but it would be nice to have this fixed in IDE 1.0.6 :)

As recommended by an earlier post, I upgraded to 1.05 from 1.04. It didn't work, then I also upgraded the firmware as suggested, none working also! So if you guys say we should downgrade to 1.02, then what firmware version I should downgrade to and where to get the binary? If I remember correctly the Flip uploader has shown that I was erasing the firmware version 1.02 when I upgraded the firmware. Not so sure this firmware number is aligned with the Arduino IDE version!

I don’t know what firmware the wifi shields come with. My experience is quite mixed so I don’t touch the firmware anymore. I use Arduino IDE 1.0 that doesn’t come with wifi library. My wifi library was downloaded from their github at one point and that version I can’t find anymore. They do horribly with version control. So I hang on to that library version and don’t upgrade. This combination has been working reliably for client side stuff for weeks or months at a time on remote devices we deployed. Other solutions don’t. I’m tired to try other ways so I moved on to raspberry pi and just keep the current arduino wifi arrangement.

Awesome! Finally an answer that worked for me! Downgrading to 1.2 was the solution (after much futzing around with firmware etc). Thank you!

Try the firmware that comes in the "hardware" folder downloaded when you install IDE 1.0.5. Apparently you need that firmware reflashed into the wifi shield to work with IDE 1.0.5. I used this firmware (not the one in GitHub that has not been updated in eight months). Install BOTH wifi_dnld.elf and wifiHD.elf. Then compile and download using IDE 1.0.5.

I had very stable results when using this firmware and IDE combination.

Two shields ran reliably in server mode for 14 days and 8 days respectively before locking up. That is much better than my previous results.

The wifi shield still has long term reliability issues, but is getting better.

Big thank you to fpga6.

Tried a lot of different options on the WiFi shield to get it to work properly. To anyone struggling, I used the wifi_dnld.elf and wifiHD.elf from the hardware folder of 1.0.5 as fpga6 suggested - NOT the GitHub one. I used the instructions to update using command line in Windows (unplug and replug USB between files).

Using 1.0.5 without problem and can also set IP reliably as well.

Someone really needs to just put a note on this on the Arduino Wifi shield page. It's painful having to search for a solution when it readily exists.

@theenggprojects: If you are using IDE v1.0.4 or newer and do not upgrade the wifi firmware, you will never connect to a web server.

If you do not want to upgrade the wifi firmware, you must use IDE v1.0.3 or older.

I see no mention of this on your website.

hmmm I think I kind of missed that, I will add it up. Thanks for mentioning.