ESP-13 wifi shield from Jaycar - how do you get the damn things to work????

boylesg:
I am using it with a mega so I could leave those dip switches permanently off and, I assume, connect the ESP-13 Tx and Rx pins to Tx3 and Rx3 on the mega

Yes, you can bend the shield pins that connect to Arduino pins 0 and 1 out so they don't go into the header and then use a jumper to connect them to any pins you like, even software serial if you change the baud rate but since you have a Mega hardware serial is the way to go.

boylesg:
with a few tweaks to the library code.

If you're using the WiFiESP library, which I recommend despite the debug output thing, then you can pass it any object you like from your sketch to communicate with the ESP8266. So no modification of the library necessary, in your case you would only need to do:

Serial3.begin(115200);
WiFi.init(&Serial3);    // initialize ESP module

Assuming you have your ESP8266 running at the default 115200 baud.

boylesg:
What firmware did you put on the ESP?

Espressif AT v1.1(the latest version): http://bbs.espressif.com/viewtopic.php?f=46&t=2199

Normally you can do an OTA firmware update using AT+CIUPDATE but I couldn't because the DOIT firmware it shipped with doesn't support that function. Since it looks like you might have an AT firmware installed you might be able to do the much easier OTA firmware update but my understanding is the AI Thnker(the module manufacturer) AT firmware is different from the Espressif(the chip manufacturer) firmware. So if you do an OTA firmware update with AI Thinker firmware you'll probably get an AI Thinker firmware update. I think the AI Thinker firmware is similar but allows GPIO control via AT commands. This sounds handy but the AI Thinker is all in Chinese and Google Translate doesn't help at all so I decided to just go for the Espressif AT firmware that has better documentation and seems to be the one that people develop code for. I have no way of knowing how actively developed the AI Thinker AT firmware is. In the shield configuration I would rather just use the ESP8266 for WiFi only and use the Arduino pins for I/O.