Auto upload to ESP32 without USB to CP2102 chip

esp32programming

I see a lot of info on how to auto-upload (meaning without holding/pressing down any button). The ESP32 dev does this using the below circuit:

enter image description here

However, in my case, I do not have a USB to TTL IC. I currently have two buttons (RST and PROG), in order to program my ESP32.

enter image description here

I also program my SMD ESP32 version using the ESP32 Dev board, but connecting the RX (ESP32 Dev) to TX (ESP32 SMD) and TX (ESP32 Dev) to RX (ESP32 SMD) and then ground the two together. Currently, this works but holding down buttons to flash the ESP32 SMD is becoming annoying, is there a way I can auto-upload like they do in the first picture?

Best Answer

I had this same situation. If your board has accessible pins on the reset and download boot strapping nets, you could rig up a Raspberry Pi / Bus Pirate / Favorite SBC/Micro with open-drain outputs to pull these pins down at the right times.

But the solution that worked a lot better for me was to implement Over-the-Air Updates (OTA) as early as possible in the development process. It takes a little extra work, but then you don't need the UART at all for programming (after the first initial load of course).

Unrelated: why are you crossing RX and TX? Are you sure that's what you're doing? When you piggy-back an external ESP32 onto a dev board, RX and TX don't cross (that is, DevBoard.ESP32.TX <-> OffBoard.ESP32.TX). Maybe you meant from the perspective of the CP2102 (true: CP2102.RX <-> ESP32.TX).

Related Topic