If you have ever designed your own PCB with ESP12 module on it, probably you have left some kind of a connector to program the module. But what if you don’t want to have an extra connector or you don’t have enough space on a PCB? Then you could use an pogo addon for ESP-12 which connects on top of the ESP module with all pins needed for flashing a chip.
As you can see in the image above, addon is “mounted” on top of ESP12 module. To keep the addon in place, you can either push it down and hold it with your hand (not very convenient, but good enough for 10-30 seconds of flashing) or you can make yourself a clamp (like I have 3D printed myself, see the photo below).
As I have mentioned before, it is possible to hold down the pogo addon on ESP module for flashing purposes, but such method is not suitable for powering up the device after flashing a firmware as you will need to hold down the addon all the time. This approach is convenient if you are planning to power up the device from different connector after flashing.
The addon has and connects to 6 ESP pins: VCC, GND, TX, RX, RESET (EN pin) and FLASH (IO0 pin). So, if you connect a programmer with extra two buttons to this adapter, you can reset or/and put IC into flashing mode and of course flash the chip. Addon also has 6 pin standard header for connecting wires to a programmer.
As you can see the board was made by me in home environment. How to that, I have written a tutorial how it can be done either etching with chemicals or with a CNC router.
Keep in mind, that ESP-12 modules usually need pull-up/pull-down resistors on corrects pins, so it is not possible to flash unsoldered to a PCB ESP-12 module, unless you have needed resistors somewhere on the programmers end.
The link for the project files on my GitHub is below:
https://github.com/daumemo/esp12-pogo-addon