ESP32 confusion

Hello,
I am very confused about the pin connections of the ESP32 with a USB to UART for programming. Rx and Tx are clear. But how are RTS and DTR connected? I found almost only samples that use two transistors. Seems strange because GPIO0 and EN are two signals and RTS and DTR are two signals. Why not just connect them and do the rest by software? Am I missing something? I am trying to build my own PCB using the ESP32-WROOM-32D module and a CH340C. I do not care that I cannot use the GPIO0 pin and I do not need any reset button.
So my question is now: how do I connect RTS/DTR to GPIO0/EN in order to program it via Arduino IDE without transistors??? Which one goes to which?
Using a logic analyzer it seems RTS is EN and DTR is GPIO0.
Can anyone elaborate why the transistors are used?
Thanks
Regards

Your post is a bit confusing.

Are you using a developer module or just an ESPRESSIF chip and making your own custom board?

I am using the ESP32-WROOM-32D module like shown on this picture: Pic
Its a dev module.

That's not a developer module, That's a bare bones ESP32 where you have to add all the support circuitry.

This is a ESP32 developers module:

The developer module already has the necessary support components.

Hi,
how is this related to my question? The Wroom 32D shown in my picture link is not a barebone chip, its a module. And that is exactly what I am using. My question is what of the RTS/DTR lines I need to connect to EN/GPIO0.

Want to ask about the auto-reset circuit used for serial programming?
image

You don't. You'd have to re-write the IDE programmer. So it's just way easier to use the circuit outlined by @chrisknightley

It works a charm in my ESP-32 based project I can tell you, which is also ESP32WROOM + CH340 (G in my case). I think I used pain old BC847's for the transistors.

If you're willing and able to build something based on a bare ESP32 module, you should also have no trouble at all including two transistors and two resistors.

You may be able to base your design on an Adafruit Huzzah (esp8266) breakout: Downloads | Adafruit HUZZAH ESP8266 breakout | Adafruit Learning System
It uses simply TX and RX and the design is intended for a 5volt programmer so you could even simplify it if you are consistently using 3.3 volts.
The disadvantage with such a simple design is that you have to manually set the device in programming mode (pressing a button).

Thank you all for the replies!

So it would be possible but then its not compatible with Arduino. I guess I will go with the transistor solution for now but make one without for the end version with a little dongle.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.