There's a ground via the USB cable - USB is always tied to mains ground (if available).
I tried an extra ground wire, it made no difference.
That ground via the mains earth is going to be extremely noisy. Furthermore, you are creating a ground loop, that will make the signal integrity even worse. It could even blow something up if there is a sufficient potential difference between the USB connectors (Arduino+your FTDI thingie) - e.g. if you decided to have the connections going to two different devices (such as a PC for the FTDI and a USB charger powering up the Arduino) connected to two different power outlets. The mains earth wiring may not even be connected on one side (e.g. the USB charger) or there could be easily tens of volts difference between the two outlets (especially in older buildings the wiring can be horrid!). In short, this is a major no-no and asking for big problems. Dave has a good video on the perils of mains earth wiring and how not to blow up your instruments, I strongly recommend you to check it out.
However, I agree, that should not cause a Windows crash like that, if things didn't go bang already then at worst you won't be able to talk to the chip.
Yes, I know about the power requirements.
My USB ports can deliver 800mA each. USB ports and Arduinos have fuses in them against short-circuits/overloads.
Here's the Arduino schematic: http://arduino.cc/en/uploads/Main/arduino-mega2560_R3-sch.pdf
The fuse is the thing marked "F1" right next to the USB connector. It's a Bourns MSMF050-2 (500mA)
Are you sure that the USB ports are actually
able to deliver that current in your setup? If there are other things connected to the same hub already, they might not be. A good thing to make sure would be to connect this setup through an external, powered USB hub instead of directly to the PC. Alternatively, you can always power up the Arduino from a wall wart and get the 3.3V you need from its power regulator. That should be good enough.
The part about the polyfuse on the Arduino is not relevant - I was talking about the total current consumption at the point where this is connected to the PC - i.e. the USB hub. That includes all other hardware you may have connected to the same hub - e.g. a keyboard or your mouse. The polyfuse not tripping only tells you that the setup (Arduino + Wifi module) likely consumes less than 500mA (+- some tolerance, also polyfuses don't catch short power spikes). It doesn't "see" any current taken by the rest of your hardware that isn't connected through it - your FTDI adaptor, anything else connected to the same hub, etc. If you want to be sure, hook up your multimeter and measure the current through both the Arduino and the FTDI bridge USB connections (you may have to cut a trace on the board, cut up a cable or use a breakout box like this one:
http://archive.siliconchip.com.au/cms/A_112479/article.html).
They will only 'die' until the fuse resets. There's no reason for Windows to crash, USB is designed for this. It's not just the USB, one time I had an EEVBLOG video playing when I pressed reset and it froze too. My keyboard is an old fashioned Model M that goes through a serial connector, not USB.
I have an external hub that won't reset by itself after the short/overload is removed but you have to actually powercycle/disconnect it to get the dead port back - it uses a more advanced power management solution than a simple polyfuse. Another one built into my monitor will stop working completely after a buggy device (i.e. not overload, it is a project I am working on) is connected and I have to powercycle it before the machine recognizes it again. So don't rely on it recovering by itself.
Re Windows crashing - if the hub is a motherboard hub, then Windows may simply not expect it to go offline - and then all bets are off. I have seen BSODs in such situations ... Could you check in the event log whether there is anything there after you restart the machine? Normally there should be an error logged if there was a problem. Also, it would really help if you could show the entire setup how is it connected to your PC, like this we are left guessing.
(PS: I'm pretty sure I've overloaded USB a couple of times over the last few years but I don't remember locking up the PC)
Yeah, it is weird. Try the setup with a powered external USB hub if you aren't using that already or a completely external power supply, without relying on USB power at all. That will allow you to rule out the power issues.
I have a powered USB hub on my bench for all USB connected hacking for that reason, I don't want to bust my mainboard or short the PC's PSU if I do something stupid like shorting the 5V rail by accident or sending 12V on the data lines by mistake.