Cannot upload firmware to microcontroller

I recently plugged in my custom PCB ESP32 datasheet and couldn't even get firmware to upload to it! So I am pretty dead in the water with this board right now. The funny thing is I have successfully used this firmware upload circuit in the past, even with the same layout. But recently I decided to redesign a few sensors/gpios around this circuit. I ordered a brand new PCB and reflow soldered it this week. So I am a bit puzzled as to why this part of my circuit wouldn't work, the port is recognized by my PC and Arduino IDE.

I have verified that the resistors are as they are mentioned in the diagrams and checked for shorts on the silicon labs UART bridge IC datasheet (which can be tricky to solder). I have verified that when I push my firmware upload button, the IO0 pin is being pulled to GND. I have verified that when I push the boot button the EN pin is being pulled to GND.

One thing that I am wondering about is if any of the circuitry I stuck on the ESP's GPIOs could be preventing the module from booting?

Does anyone have any insight into what may be preventing the firmware upload?


The USB D- does not show a connection flag.


The connection flag for D- is here.

Also thought this may help. I went through with a multimeter and measured the voltage on the circuit.

Sorry I missed the flag :frowning:

I found this for the 8266, I don't know if there are similar requirements for your device.

This is the related info for the esp32 it is similar to what you have posted. I have IO15 and IO12 connected to an IC in "high impendence mode" and am measuring just about 0.01V on both of them, this seems like a problem because IO15 is pulled up.

Problem turned out to be a DOA esp32 chip. I soldered a new one on there and bam everything started working.