I am trying my ESP32-CAM for project but I am having problems with uploading script/code to the ESP. I am using CP2102 to connect ESP and my laptop. I tried connecting it to 3.3V and even 5V but none seem to be working as I always get the same error: "A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header"
For future references.
So after some time I was finally able to upload my code into ESP32-CAM. I don't know if I had just bad luck with "faulty" ESP but here is what helped me.
Don't use CP2102, it just doesn't work for me, use other programmer or Arduino as I did.
If you have been using scheme like this scheme and wasn't able to fix your problem try to connect all other things that need GND on some breadboard and use just one GND pin from ESP. I noticed that GNDs on ESP has (or atleast mine have ) 0.5V difference between them. Right now I am using the GND pin that was connected to IO0 as "main" GND and its works.
Hope this helps someone and thanks for all replies.