I have a problem with a custom board.
I have tried to implement the CP2102N with the ESP32-S3-WROOM-1 module and an USB-C port in order to enable auto-download and write directly to the chip via a USB connection.
To be safe I also exposed the GND, 3V3, IO0, TXD0, and RXD0 pins in order to use an external USB-to-UART connector to program the board. However, it seems that I am not able to receive serial data from the ESP32 in any way.
I get a stable 3.3 V by using power from the USB and a linear regulator. Voltage at EN is around 3.3 V and stable. However, I am not able to program the board via USB.
It seems that the CP2102N chip is correctly seen and recognized by Windows. I am able to write to serial and a loopback test (connecting the RXD0 and TXD0 exposed pins) successfully outputs the input. I can also see activity on the ESP32 RXD0 pin, but no activity on the TXD0 pin - indeed, I get a "No serial data received" when running esptool.py -t chip_id.
What is strange is that even by not connecting the USB cable and using an external 3.3 V power supply, I am not able to program the board via the exposed TXD0/RXD0 pins. It seems that either the ESP32 is not responding, or the presence of the CP2102N forces the TXD0 to be constantly at 3.3 V.
Attached you can find the schematics of the USB/CP2102N/ESP32 connection. I tried swapping TXD0 and RXD0, using different cables, power supplies, etc. with no luck.
Is anyone able to spot any error in the schematic? Would at least de-soldering the CP2102N help in using the exposed pin to program the chip?
EDIT: I tried to de-solder the CP2102N chip from the board but nothing changes, I am still unable to program the ESP32 with the exposed pins. I even replaced the module with a brand-new one but the behavior remains the same.