Main Content

ESP32-Cam is a compact size and low cost ESP32 Development board with OV2640 camera. There’s no USB programming port, so you need external programmer like FTDI, CH340 or CP2102 to upload code through serial pins (UOR and UOT).
While it is extremely popular, the ESP32-Cam has several issues. One of common issues of this development board is mostly failed to upload the code. The Arduino IDE will tell you that it “Failed to connect to ESP32: Timed out waiting for packet header”. You have to check the wiring between ESP32-Cam and the FTDI as image shown above.
And you know, we have to make sure GPIO0 is connected to GND and then press RST button if we want to enter the flashing mode. After that, we disconnect GPIO0 from GND to enter running mode. We need to do this sequence everytime we upload the code. This is a bit tricky. Isn’t it?”

Link to article