ESP-12 modules are great for integration to custom product as they fit nice on a PCB. However the prototyping process can be painful due to the incompatibility with standard 2.5 mm pin headers. You can use a full development board like NodeMCU with all its imperfections (size, high current consumption1 compared to ESP sleep states, mismatched pin names 2, etc.) or you can take a soldering iron, wire and do all the necessary wiring as a “3D post-modern artistic piece from a copper wire”. To remind; ESP8266 requires several GPIO pins to be pulled-up or pulled-down in order to boot from flash memory or to enter a bootloder (see ESP8266 Wiki for details), so a little bit of wiring is unavoidable. In some cases you might want to attach a voltage regulator.
A few weeks ago I run into a strange problem — when I was playing with ESP8266 and Arduino Libraries, suddenly my program stopped working. Random characters were appearing on UART (Arduino
Serial). Also it was almost not possible to flash the chip via the UART. “Ok, I blew up the UART somehow,” I thought. Today, the problem appeared again, so I replaced the module with a new one. After few minutes, the I observed the same strange behavior – random characters appeared again. What?
Because I didn’t touch the module, I started inspecting what’s going on. I revisited all the connections and all the Dupont cables. Everything was fine. As a last desperate try I lowered the upload speed from 921600 Bd/s to 57600 Bd/s. The chip came alive!
I haven’t inspect properly, what is the cause, yet. It seems to me like there might be an interference on a the cheap Chinese Dupont cables during high speed upload and the uploaded program can get corrupted (and so the ESP might be stuck in a loop of fault handlers).
Next time, when you think you blew your ESP8266, try lowering upload speed first!