Official WiFi shield Network Scan problem

Can't connect to my router using the official Arduino WiFi shield.

I'm trying to get the example ScanNetwork to work using an Uno R3. The sketch compiles and runs but mostly (95% of the time) returns 0 networks found. Occaisionally it will find my network reporting the correct SSID (and reasonable signal strength) name and WPA2 encryption, but very rarely (1 in 20 attempts). I've tried various physical distances between the shield and the router and provided the Uno with extra power other than the USB. Whatever I try it nearly always reports 0 networks found.

I've tried using the example client for WPA2 but that always results in the red error light coming on staight away and the software reporting that it was not found.

I thought it might be the firmware, but I have not been able to upgrade even following the only windows instructions I've found on the web
This process fails when attempting to program using AVR32 studio giving an error ('batchisp' is not recognized as an internal or external command,operable program or batch file.)

I think I'm either missing something obvious, have rubbish firmware or have an intermitent duff peice of kit!? I dont usually post on forums as I usually find answers to my issues on existing ones, but there seems to be no one posting this. I'm somewhat frustrated and starting to think about getting a refund from oomlout with a view to using an Imp.

Please stop from travelling down that road :slight_smile: ....

The green wire on the back doesn't fill me with confidence either (what's that ?)

Hey Dave!

Im having the same problem!!

Im trying to connect the wifi shield to the WPA and it loads the program, and the led indicating error on the shield turns on.

I've been posting a lot about this but no one seems to have the answer.

If you already solve the problem, or have any idea what is all about, please let me know


Scan and connect are two different things. You will see networks on a scan that you cannot connect to unless you are set to the correct security type and passphrase.

You will not see every SSID available on every scan, even on the best equipment. You do not need to see a SSID on a scan to connect to it.

You are using WPA2 Personal on the wireless, not just WPA, correct?

@vdalessio - No joy other than plenty of sympathy - I'm getting the picture that the shield is alright on a/b wireless but somewhat flaky on g/n. I'm heading for the Imp as it seems very straight forward to use and there's a sparkfun shield for the uno too.

@SurferTim - I am aware how WiFi works - and as my original post said I've tried both scan and connect. I am trying to see (via scan) my own router, the scan rarely finds it, the connect using WPA2 never works. Please also note the original post did say WPA2 not WPA and yes it is Personal.

I'm getting the picture that the shield is alright on a/b wireless but somewhat flaky on g/n.

The shield is specified for b/g networks, it doesn't work on a and n networks. You have to configure your router for mixed b/g mode, g-mode only doesn't work reliable (in my experience).

The Arduino WiFi shield seems to work fine on our corporate g only routers (well they are a/g). It does occasionally have an issue connecting but that seems rare. The sample code worked as is. I wish I could give you more. We did try the DFRobot wifi shield and it did not work at all for us.

I have tried every setting on my router (E4200) which allows a/b/g/n mixed etc but ScanNetworks only rarely finds it. All other WiFi devices at varying ranges find it with no problem.

@ddod The DFrobot link was for instructions on how to upgrade the firmware using windows (not for their Wifi product). It is the only reference out there for the process of upgrading the firmware (and it didn't work - see original post). I think it's pretty poor that there is no official published process for windows on the arduino site.

Thanks to everyone for contributing your suggestions but I don't think anyone can blame me for sending it back (which I have now done).
I am reading good things about Imp and there is an Uno shield for them too (plus the Imp + shield is cheaper than the Arduino WiFi shield). It maybe that it is not as flexible, but given all I want is a simple client connection it looks very inviting.

Now I’ve updated the post. I’ve uninstalled the flip to simulate the problem you met with. And install the flip again to test on my wifi shield sucessfully!
Please check the links for downloading the flip from ATMEL.
If possible, please try it again. Even if there're some other problems, please leave a reply on the DFRobot link. I will follow this case and make it clearer!

I am new to the Arduino scene and I am experiencing this same problem with the wifi shield. Am I correct in assuming that a successful firmware update will fix this issue?

I would expect that shield delivered recently to have up-to-date firmware and not version from 2012.

What your router's setting? Post more information.

I would expect that shield delivered recently to have up-to-date firmware and not version from 2012.

Let’s find out. Compile and upload this sketch. If it displays “Firmware version: v1.0.0”, then it is out-of-date firmware. If it is v1.1.0, then it is current. Which is it?

#include <SPI.h>
#include <WiFi.h>

void setup() {
  //Initialize serial and wait for port to open:
  // check for the presence of the shield:
  if (WiFi.status() == WL_NO_SHIELD) {
    Serial.println("WiFi shield not present"); 
    // don't continue:

  Serial.print("Firmware version: ");

void loop() {

I am having the same sort of problem.
In one place I have a Technicolor TG582n wireless router and in an other place I have a Thomson 5AE024 wireless router.
The Wi-Fi shield connects fine to the TG582n but not to the 5AE024.
As far as I can tell they are both configured identically.

I have v1.1.0 firmware in the shield.

Any idea?

@Grumpy_Mike: I found a manual for the TG582n but I cannot find any information about the 5AE024. Do you have a link to a datasheet or manual? If I can compare the two products we may find differences that might hint us to the cause of the problems.

Sorry it is a TG585
When I set going a ping, then power up the wave shield, you can see the ping message change just after the network sees it and fails to connect to it.

PING ( 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3
Request timeout for icmp_seq 4
Request timeout for icmp_seq 5
Request timeout for icmp_seq 6
Request timeout for icmp_seq 7
Request timeout for icmp_seq 8
Request timeout for icmp_seq 9
Request timeout for icmp_seq 10
Request timeout for icmp_seq 11
Request timeout for icmp_seq 12
Request timeout for icmp_seq 13
ping: sendto: No route to host
Request timeout for icmp_seq 14
ping: sendto: Host is down
Request timeout for icmp_seq 15
ping: sendto: Host is down
Request timeout for icmp_seq 16
ping: sendto: Host is down
Request timeout for icmp_seq 17
ping: sendto: Host is down
Request timeout for icmp_seq 18
ping: sendto: Host is down

Sorry it is a TG585

Yes, but I still couldn't find any information for the Thom(p?)son router. Do you have a link?

When I set going a ping, then power up the wave shield, you can see the ping message change just after the network sees it and fails to connect to it.

That does look like the device connected to the router but was unable to get an IP address by DHCP. In that case the router did it's job and sends back other ICMP responses. But that's difficult to tell. Does your router see the Arduino? Is it listed as a connected device on the status page?

I think this is your router? If so, the Arduino gateway is not like a "normal" router. It is

edit: And apparently you can't "just connect" to it either. It appears you must register each device you want to connect to it. This describes how to do that:

Thanks for the help so far.
I posted on this thread because I was seeing exactly what the OP was seeing on one router and not on the other so I thought there might be some mileage in trying to find out why one and not the other.

Does your router see the Arduino? Is it listed as a connected device on the status page?

Yes, the Arduino is being picked up by the router. See attached screen shot. I clicked the box to say always give it the same IP address and I edited the text field to say it was and Arduino, but it picked up the correct Mac address all by itself.

And apparently you can’t “just connect” to it either.

Yes you can, it is in the “new stations are allowed automatically” mode, but thanks for the link, I checked it all and it appears to be fine.
Sometimes this router will not reconnect the Macs to it if they have been asleep but this is only occasional.

Like the OP I found that the scan for networks would only very occasionally pick up this router where as with the working router scan would pick it up all the time.

There is something odd going on with this router though. When my son comes to visit if he tries to let his Androide phone connect then it seems to crash the router and it will no longer connect to the internet. Then only a power cycle will restore it. I know that is a different problem but it points to there being something odd about some routers that would explain why so many people can’t get the Arduino Wi-Fi shield to work.

It was worth a try. It sounds like it may be time for you to think about getting a new router, especially considering it's reaction to your son's Android.

It's not that old only about a year and a half and came when I had broadband fitted to this house.
While I agree it might solve my immediate problem it is not so good advice for people like the OP who I assume is having the same problem as me.
Anyway thanks for looking at it I appreciate how difficult fault finding remotely can be with this topic.

The OP may have other problems. I did not see where the OP or anyone else tested his/her firmware like you did. If you are using IDE v1.0.5, and the firmware version is v1.0.0, you will have problems, despite the router you use.

You don't seem that Grumpy to me. I think I mentioned that a long while ago. :slight_smile: