I just made a custom schematic and PCB with an ESP-WROOM-32 module. The board has a USB-UART chip (CP2102) and an auto-program circuitry to flash firmware without pressing buttons, but it doesn't work: esptool.py
stops with
Failed to connect to ESP32: Timed out waiting for packet header
Here are the relevant parts on my schematic:
I tried desoldering Q1 and Q2 and put two pushbuttons (+ pullups) and I could verify that the TX/RX lines are working, as I could flash a firmware.
I took the schematic from the LOLIN32 board.