CuHead WiFi Shield 2.0

Well, I just got my CuHead 2.0 WiFi Shield, and this thing is about to make me pull my hair out. I've found a couple of tutorials, but they are filled with links to this and that, and not helping much at all. LinkSprite's instructions aren't even for the 2.0...

Do any of you guys know of a good tutorial that is current?

Thanks in advance!

You're referring to LinkSprite's instructions, so are you using the shield with a Arduino Mega?

I'm using it with an Arduino Uno.. I have already downloaded the files and updated the libraries, except for the library that deals with the flash programs on the CuHead 2.0, which is the main thing that's confusing me.

LinkSprite is using instructions for the original CuHead for the 2.0 as well, and from the looks, it's not going to cover all the bases of the newer version.

With flash you mean the EEPROM that's on the shield too?

I don't have a tutorial for you but if you tell us the problems you have with the shield the forum might be able to help you.

The information available is really confusing. Especially the only schematics available seems to be for the old version as no EEPROM or flash chip is used there. You may be able to read the chip code on your shield. What storage chip is used on the board?

I've updated the libraries for both the WiShield and DataFlash code for the CuHead 2.0...

I loaded the "WebServer" example onto the CuHead and just used the default IP addresses to create a standalone AdHoc server.

Local IP: 192,168,1,22
Gateway IP: 192,168,1,1
Mask: 255,255,255,0
SSID: CuHead

I can connect to the CuHead 2.0 using my HP laptop and my Ipad, but I am unable to send a ping or access the webpage that says "Hello World" from either. I'd copy/paste the code, but my only connection the the internet at the moment is my cell phone.

Yep, I was referring to the EEPROM chip. I haven't made it that far yet. I'll pull my hair out until I figure it all out (or until I'm bald)... but some easier to follow information would be wonderful. I'm eventually going to have this Arduino controlling 7 servos from my Ipad to control an hvac panel. Nothing too complicated, but I'm hoping to learn as much as possible in the process.

Thanks!

I set up the CuHead on my home network this evening and was finally able to get to the "Hello World" website... I disconnected the UNO/CuHead from the USB cable and plugged in the 9v power supply. The Uno powered up, but the CuHead wouldn't get power. I'm checking jumpers now, or maybe I need to run power to the plug that's on the shield.

I'm ready to start controlling some servos now!

Guys, I have spent the past few days trying to cram info about this 2.0 shield. Information on the web is so scattered about this shield, and I'm not sure if the libraries used in the examples are outdated now or what.

I'm just trying to make a basic sketch for the time being to control two servos (I'll add the other five later) from my Ipad without needing processing on a third pc. I learn better from example, and I've been digging and digging into this hole unsuccessfully.

Any help you guys can offer would be greatly appreciated. I've bought the Ardumote HD app for my Ipad. The tutorial uses an ethernet shield, but if I could patch in the code to use the WiFi 2.0 Shield instead, it'd be great!

Thanks in advance!

(Arduino Uno, Ardumote HD, Ipad)

Yup. Been there, tried that. Only marginally successful unfortunately.

I keep repeating this advice because I totally missed one point when I purchased then CuHead WiFi shield. I did not look too closely into what library the device was associated with. It is a clone of the Asynclabs WiShield. Asynclabs is out of business and while the site is still up there is little to no development going on for the library.

For my own project I am using a standard Ethernet shield ( well actually its a Teensy++ and a WIZ512 WiFi module) so I can use the Arduino Ethernet Library. Many other libraries use the Ehternet library. In case of my project it is the Bonjour/DHCP library and ArdOSC.

The Ethernet shield (WIZ512) is connected to a little TP-Link TN WL703n pocket router. This allows me to use the Ethernet library and all the libraries that depend on it. Perhaps you want to use a different router, e.g. The tplink 702n or 3020 because the all Chinese web interface to configure the 703 is a bit of a hassle. If you intend to run it in an Access point configuration anyway then that may not be of any concern.

Thanks for responding Headroom...

After reading almost every forum on the net about the cuhead/wifi 2.0, I picked up a few suggestions just as yours. I wish I would have done more research beforehand.

I ordered an ethernet shield and TP-Link 702n....

I hate giving up so easily, but my project needs to be completed asap...

If anyone wants to make me an offer for this CuHead WiFi Shield 2.0, it's in mint condition, and I'll ship it for free!

Hi. I too use the little TL-Link router as a WiFi client to my Arduino and it works well in general as stated. But it does tend to cause issues with my AT&T RG (Residential Gateway) aka cable modem. When I power up the TL while connected to my Arduino running a sketch that uses Ethernet.DHCP (I am including that detail in case in might be a clue as to the problem) it causes the RG to drop IP connectivity to all other WiFi devices such as laptops. When I power it off, IP returns most of the time, but many times I must reset the RG to get back to normal operation. Question: is operating the TL-Link in client mode causing an undesirable side-effect on home Internet gateways (which are really routers themselves of course)? I have heard talk on the AT&T fora that one cannot operate a router "behind" the RG router. Thanks.

I have run the tp-link in AP and in Client mode and have not had such issues.
My home AP is an Apple Airport Extreme connected to a (6 year old) Westel ProLink DSL modem. The Tp-Link connects flawlessly in Client mode to my Airport Extreme and causes no problems if operated as its own AP.
The problem could be the configuration of your homes network router/cable modem. Perhaps in the DHCP configuration.

I'll add my $.02. This shield may be a perfectly good piece of hardware, but the software is just barely functional. After experimenting with it on both an Uno, it became pretty clear that the TCP/IP stack consistently runs out of memory. Only the very most basic sketch using a completely stripped down set of libraries can run. Trying to do anything useful overruns RAM and crashes/resets the Uno.

I even went as far as to get a Mega to try things with more RAM. It does require some playing games with jumpers to get the pins on the shield to match up with the slightly non-standard Mega config, but even after that, it still failed to run for very long before resetting.

This is incredibly frustrating because there really doesn't seem to be a viable, functional WiFi shield for Arduino. I don't know why no one has produced one yet. Using an ethernet shield with an external router or WiFi bridge is just not an option for a mobile system, so I wish people would not always assume that their hard-wired, tethered, nailed to a wall socket solution is the only way to get wireless connectivity. Totally defeats the purpose of "wireless" to require a box that has to be plugged in to do WiFi...

cshotton:
I'll add my $.02. This shield may be a perfectly good piece of hardware, but the software is just barely functional. After experimenting with it on both an Uno, it became pretty clear that the TCP/IP stack consistently runs out of memory. Only the very most basic sketch using a completely stripped down set of libraries can run. Trying to do anything useful overruns RAM and crashes/resets the Uno.

I even went as far as to get a Mega to try things with more RAM. It does require some playing games with jumpers to get the pins on the shield to match up with the slightly non-standard Mega config, but even after that, it still failed to run for very long before resetting.

This is incredibly frustrating because there really doesn't seem to be a viable, functional WiFi shield for Arduino. I don't know why no one has produced one yet. Using an ethernet shield with an external router or WiFi bridge is just not an option for a mobile system, so I wish people would not always assume that their hard-wired, tethered, nailed to a wall socket solution is the only way to get wireless connectivity. Totally defeats the purpose of "wireless" to require a box that has to be plugged in to do WiFi...

First of all, there are functioning Arduino WiFi shields. However, depending on what you indent to do within your project there may be limitations due to the hardware/WiFi chips/modules used on these or due to th libraries that you need to use in conjunction with these WiFi shields.

There are a couple of products that come to mind: The WiFi shields at diysandbox.com seem to be nice products alas a tad expensive. There are the WiFly Shields on Sparkfun and there are likely more.

The CuHead is a clone of the Asynclabs WiShield and the original libraries originate from Asynclabs. Unfortunately Asynclabs went out of business. As such there is little to no development on the hardware or software side of that shield. The uIP stack used on the WiShield is an implementation of a IP stack used in many embedded devices and is actually very small in memory footprint.

The reason I suggested using an Arduino with an Ethernet shield connected to a pocket router is not that this is the only functioning solution! However, it has a few very nice advantages over a WiFi shield. This solution by definition is fully compatible with the Arduino Ethernet library. There are other libraries that rely on the Ethernet libraries, in particular some low level functions that directly interface with the Wiz510 chip on the Ethernet shield. Such as the ArdOSC and DHCP/Bonjour libraries.

That is hard to replicate with any WiFi shield as you'd have to replicate these functions with commands that communicate with the WiFi chip that's on your WiFi shield. In my case I decided it was not worth the trouble.

Then there is the cost factor. I am using a Teensy++ ($24) with an adapter board ($7 ?) and a WIZ5200 Ethernet Module ($19) connected to a TP-Link TP WR703n router ($27 on eBay). The Arduino Hydrogen WiFi shield from Diysandbox.com cost $75. You do the math :wink:

The above combination is not much bigger in footprint than an Arduino UNO with a WiFi shield stacked to it. The router accepts 5V DC power so you can run connect it to the appropriate Arduino pins.

Yes, I would like to see an official Arduino WiFi shield as well ( it was announced almost a year ago) but while others are waiting, I already have a well functioning solution. It may not be the most elegant one, but it does function flawlessly and actually offers benefits even an Official WiFi Shield will be hard pressed to offer.

For example the router can be easily configured using a web interface. I don't have to write or modify code and upload it to the Arduino to change basic IP settings. It is sold thousands of times and likely the software is relatively bug free, which is unlikely with a home grown solution. And, in case of the 703 or the TP-Link TP MR3020 the adventurous ones can flash openWRT, an embedded Linux router onto it. That's a lot of stuff you get for less than $30!

I bet with a little mechanical work I'd be able to fit the Teensy++ and the Ethernet module into the little Router housing to make it more mobile.

http://www.cutedigi.com/blog/?p=19