To my experience, the major problem in making the Cu Shield to work is actually the router (or access point. I'll be reffering to it as "router"). Namely:
Physical Connection:
- the connection between the Cu Shield and arduino is mostly trivial; if you have Uno, it's just piggyback, and there is nothing not to work. If, like me, you have all the physically incompatible arduinos (I own Nano, 5V Mini Pro and Mega), connection is still simple - just 8 wires. Since wiring has been described in other places, let's assume you connected everything rigth (GND, +5V, SS, SCK, MISO, MOSI, pin 2, and pin 9).
Software:
Let's assume you are not using Mega. If so, download the WiShield library - the latest (ver 1.3.1) seems to be the one from Rugged Circuits, and it is compatible with Arduino IDE 1.0.x. The link to the library is at http://ruggedcircuits.com/html/yellowjacket.html, scroll down to Software... Unzip and save the library in your user-provided libraries folder (on my PC, it is at My Documents => Arduino => libraries
Test:
Start the Arduino IDE, and load the SimpleServer example (File => Examples => WiShield => SimpleServer. Now pay attention: set the IP Address to what you want for your WiShield. Provide router's SSID, and select the security model currently running on your router (none / WEP / WPA / WPA2 - "none" is the least secure, and WPA2 the most secure of the four); provide passphrase (if WPA/WPA2) or the key (if WEP). Upload and look at the LED on the WiShield. IT TAKES TIME! In my tests, it takes 3 - 7 seconds for the LED to light up for none or WEP security, and some 30 s for WPA or WPA2. If the LED is lit, open the web browser on the PC, and type in WiShield's IP address (the one you used in the Arduino sketch). If everything is OK, "Hello World!" will be displayed.
Troubleshooting:
You are reading this probably because the "Hello World" from the end of the previous paragraph did not come up, right :). Well, let's do some simple checks:
- Did you think it would work right away so you have connected to your Arduino things other than WiShield? If so, disconnect everything other than WiShield. Check wiring.
- Make sure everything is at default - all eight wires where the manuals say they should go (yes, you may connect the reset too, but that is not necessary for these tests), LED jumper on WiShield in place, Int jumper in "Pin 2" position.
- Open Blink example (File => Examples => Basics => Blink). Change line 10
int led = 13;toint led = 9;. Upload. LED on WiShield blinking? Yes? Good! You can breathe now, you did not burn $100 worth of gadgets
Load back the SimpleServer example, and read back the first sentence from the top of the post - it is probably the router issue.[/li]
You think it's the router? Well, you mightvery well be right! First double-check all the router settings (are you by any chance running the WiFi isolation? Is the IP address you want for the WiShield in use? Have you reserved it for another device? Is the IP address in the router's allowed range? (My router defaults to 192.168.2.1 to 192.168.2.100; assigning 192.168.2.101 to WiShield won't work unles I change that default range). All that checked, go check asynclabs.com, there is a list of access points verified to work with CU head's MRF24WB0Mx, and those that are verified not to work.