I am using the ESP-12F castellated ESP8266 modules from a supplier from China to design a relay PCB.
Due to a shortage of GPIO pins I used GPIO0 as an output to a P-MOS and an N-MOS (common gate). I reckoned it would be fine to do so as long as GPIO0 was pulled up and was high on boot. However after assembling a full PCB I found that the ESP-12F chip could not be flashed via Arduino IDE:
Code: Select all
A fatal esptool.py error occurred: Failed to connect to ESP8266: Timed out waiting for packet header
Then I decided to first assemble these minimally required components onto a new PCB, flash the ESP12-F, and then start adding one component at a time, testing the flashing process after each addition.
It turns out that upon adding Q5 (schematic) [FDN340P logic level PMOS whose gate is connected to GPIO0], the ESP-12F is irreversibly damaged (can no longer flash even after removing Q5). Before adding Q5, the voltage across GPIO0 was 3.3V as expected however after adding Q5 (and even after removing it), the voltage could only reach ~2V.
I have linked my EasyEDA schematic and board files here: https://drive.google.com/drive/folders/ ... sp=sharing
Has anyone successfully used GPIO0 on ESP8266 to control a PMOS? Or does anyone have an explanation for why this issue is occurring? I designed my PCB using the WeMos D1 Mini as a reference: https://www.wemos.cc/en/latest/_static/ ... v3.0.0.pdf
Thanks!