I spent most of the weekend trying to figure out why the circuit I made to upload firmware to an ESP32 (datasheet doesn't work. The reference circuit below was taken from EspressIf and I tried to recreate this on my own. This is the manufacturer of the ESP32 chip so it should work. If anyone has a clue what it could be, that would be most helpful because I am at a loss at this moment.
My version is just slightly different but doesn't work:
I checked for shorts and proper connections on most of the key components: bridge IC(datasheet, micro-USB, ESD diodes. But it is not working. I do want to mention that the RXD and TXD lines are each going through a multiplexer that is acting like a switch which is closed to the firmware upload serial connection when Vbus is connected. I can go into detail, but I no longer suspect this is the issue.
Some observations and general info:
- 3.3V continuous net which receives power from Vbus is reading 3.3V
- Vbus net is reading 5V
- DP is reading 3V
- DN is reading 0V
- Soldering was done with reflow oven and stencil
- The error I am seeing with the circuit is when I plug in the device windows says something like "does not recognize device and it may have malfunctioned".
PCB footprint of malfunctioning area
actual photo after reflow soldering.
close-up of bridge circuit after soldering. I have verified that there isn't bridging between the pads by verifying no continuity between all adjacent pins.
close-up of micro-usb. I have attached a stripped micro-usb and verified no continuity between all adjacent pads. I have also verified that there is continuity to each respective diode at the beginning of the circuit. So for example Vbus and D304s continuity has been verified.
The bridge IC on my board is on the top layer and rotated 90CCW. Here is an image of what that pin out would look like
Here is a close-up of my board's PCB footprint for the bridge IC.