Just to summarize a few things1. Using a little ( half the footprint of an iPhone 4 and about twice as thick) TP-Link router will enable you to connect directly with the iPhone to the router/Arduino because that little router comes configured as an Access Point out of the box. You plug it in, it shows up in the WiFi connections in your iPhone and you're in business.2. The TP-link TL WR703N is available through eBay ($20+) and I've had no one preventing me using it in my projects due to a missing FTZ certification YMMV. The user interface is in Chinese. Google translate helped me.3. If you have a home router you can have the TP-Link also connect to your home router and access the Arduino wirelessly through your iPhone<-->home router <-->Tp-Link<-->Ethernet <-->Arduino. That is an interesting setup if your project is located somewhere inaccessible for a cabled Ethernet connection. I use this set-up in my projects ( trippylighting.com).4. You can also omit the Ethernet card and connect the TP-Link WR703N through its USB port directly to the Arduino, but it requires you to flash an OpenWRT Linux based router software on it to begin with. I have no handson experimece with this, but I believe that this will not work with Ardumote as Ardumote usesthe UDP protocol for communication and I am not aware of an Arduino library that supports UDP over USB. If that ever interests you, it is not required to purchase a preflashed one of eBay, unless The fine folks at the OpenWRT website are untruthful ;-)5. The fact that Ardumote ( and TouchOSC, which I am using in my projects) work through the UDP protocol is also the reason why I would be careful with using a Bluetooth module. Getting that to work will almost always require you to socket programming and worse ;-)6 Using Ardumote with the Ethernet shield directly or through the TP-Link Wr703n has worked flawlessly in my projects but I have since migrated to TouchOSC.