FYI: Hardwiring Deep Sleep affects autoflash
Posted: Fri May 05, 2017 8:42 am
Just a heads up...
I recently designed a controller board exposing I2C, I2S input, and both UARTS. I included the fairly common transistor based autoflash circuit, and I also hardwired the RTC to RST in order to use deep sleep.
The board seemed to work perfectly except for the autoflashing inside Eclipse. I initially thought it was the Eclipse environment and did more research and found esptool from the command line also had problems. I found the latest Virtual Comm Port (VCP) drivers from the chip manufacturer (Silicon Labs) helped with the flash/reset/terminal debug cycle inside Eclipse, but still I could not flash my unit without manually hitting the reset button.
Searching here and on the Espressif board I found some posts about problems after wiring deep sleep and how hard RTC pulled up the RST line, and in some cases it prevented RST from working properly.
I can now confirm that this is true, and that if you want to be able to autoflash your ESP8266 unit and also use deep sleep, you will need to link the RTC to RST with a small resistor (we used 330R) or a diode, otherwise in many cases the USB serial will not have enough power to pull RST to ground, and only a hard reset will work.
I'm using ESP-12F modules on a custom board, with a reset and flash circuit that that looks almost exactly like the Wemos circuit (10k pullups, 100nF decaps, and 2x S8050 transistors), with Electrodragon CP2104 based USB serial boards wired to expose DTR and RTS.
Just posting this so that others don't spend weeks trying to work out the same problem!
PS: I also followed a recommendation from this forum to pull up the Tx lines on both UARTS and I have never had such good Wifi connectivity and performance when the unit is running stand alone. 10/10 would recommend.
I recently designed a controller board exposing I2C, I2S input, and both UARTS. I included the fairly common transistor based autoflash circuit, and I also hardwired the RTC to RST in order to use deep sleep.
The board seemed to work perfectly except for the autoflashing inside Eclipse. I initially thought it was the Eclipse environment and did more research and found esptool from the command line also had problems. I found the latest Virtual Comm Port (VCP) drivers from the chip manufacturer (Silicon Labs) helped with the flash/reset/terminal debug cycle inside Eclipse, but still I could not flash my unit without manually hitting the reset button.
Searching here and on the Espressif board I found some posts about problems after wiring deep sleep and how hard RTC pulled up the RST line, and in some cases it prevented RST from working properly.
I can now confirm that this is true, and that if you want to be able to autoflash your ESP8266 unit and also use deep sleep, you will need to link the RTC to RST with a small resistor (we used 330R) or a diode, otherwise in many cases the USB serial will not have enough power to pull RST to ground, and only a hard reset will work.
I'm using ESP-12F modules on a custom board, with a reset and flash circuit that that looks almost exactly like the Wemos circuit (10k pullups, 100nF decaps, and 2x S8050 transistors), with Electrodragon CP2104 based USB serial boards wired to expose DTR and RTS.
Just posting this so that others don't spend weeks trying to work out the same problem!
PS: I also followed a recommendation from this forum to pull up the Tx lines on both UARTS and I have never had such good Wifi connectivity and performance when the unit is running stand alone. 10/10 would recommend.