Use this forum to chat about hardware specific topics for the ESP8266 (peripherals, memory, clocks, JTAG, programming)

User avatar
By davydnorris
#65599 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.
User avatar
By davydnorris
#65625
rudy wrote:The resistor between the reset line and GPIO16 is sadly sometimes excluded or overlooked. But it is a known requirement if you plan to use the reset pin to provide an external reset.

viewtopic.php?p=64510

viewtopic.php?p=63898#p63898

viewtopic.php?p=55228#p55228


Thanks rudy - yes these were the posts I found that alerted me to a possible issue. I think it was Martin that also found the trick with the pullups on the Tx lines?

Reading these posts it wasn't completely clear that direct wiring the RTC affects ALL soft reset actions - it seemed to say it was only a problem if you were trying to bring the chip out of deepsleep to flash. I wanted to make it clear that it affects even regular flashing operations and that the resistor or diode idea worked very well to prevent this.

BTW many thanks to the original posters for the tip - I wish I had seen it earlier! I feel I should also make a topic post about the Tx pull ups so that it stands out. This was brilliant research by the original poster and has completely changed the performance of my circuits.