https://github.com/espressif/esptool/wi ... -SelectionNote that some serial terminal programs (not esptool.py) will assert both RTS and DTR when opening the serial port, pulling them low together and holding the ESP32 in reset. If RTS is wired directly to EN then RTS/CTS "hardware flow control" needs to be disabled in the serial program to avoid this.
Development boards (including all Espressif boards) usually use additional circuitry to avoid this problem - if both RTS and DTR are both asserted together, this doesn't reset the chip.
I am using a genuine espressif board but still have the reset. I have desoldered the RTS or DTR resistor (not sure which) off my cheaper DOIT dev board and this solves the problem of resetting on serial connection but then I had to add a button and resistor back in order to load my program in the Arduino IDE. Is there a better way to avoid resets from RTS/DTR during serial connection that doesn't involve a hacky button??