1
\$\begingroup\$

I made my first custom PCB with an ESP32-S2FH4R2 (datasheet). Since I also want to use the integrated USB OTG Console of the ESP, I connected GPIO 20 to D+ and GPIO 19 to D-.

When I connect my PCB to my PC, Windows 11 keeps sending me notifications over and over again that the USB device has not been recognized. The Device Manager shows a unknown device:

Device Manager

The strange thing is, when I toggle the reset button while keeping the Boot Button (GPIO 0) pressed, which should bring the ESP in upload mode, the notifications stops popping up. The Device Manager shows "Unknown USB Device (Port reset failed)" continously. In this scenario, the reset button works - it cuts the non-working connection.

Here is my PCB:

PCB Layout

Schematic

Since I ran out of capacitors, C9 is 0.1 μF instead of 10 nF. I hope that is no big deal.

Notice that the PCB gets its power from a solder pad on the other side of the PCB. The USB micro connector doesn't deliver power to the board.

I already rebooted my PC, tried three different USB ports and cables with no success. With an ordered Dev-Bord everything works correctly.

I measured the voltage on the USB micro connector with a multimeter:
D+: 0.3 V
D-: 0.02 V
Voltage on PWM-layer: 3.29 V

Meanwhile, I connected the VBUS-Pin to the Voltage regulator und thus powered the ESP thought the USB Port. The issue was still the same.

UPDATE: The problem was a mirrored fotprint of the cristal. I rotated it 90° on the PCB and it worked - the Port appeared correctly.

\$\endgroup\$
7
  • \$\begingroup\$ Is that PCB picture from top or bottom? Is the USB connector pinout correct? I think the most acute problem is that the ESP must not show to PC that it is ready to enumerate unless VBUS is detected, and it can't detect the VBUS. \$\endgroup\$ Commented May 11, 2024 at 20:12
  • \$\begingroup\$ The picture shows the bottom side. The top is boring - there are only solder pads as well as Reset and Boot buttons. Do you mean that I should connect the VBUS-Pin of the USB-Micro-Connector to 5V? I do not have 5V on the Board, only 3.3V and 9V. \$\endgroup\$ Commented May 11, 2024 at 21:13
  • \$\begingroup\$ No, you should not. The MCU should be able to detect when PC applies 5V and when not, and based on that, the ESP should react on it, starting USB interface or stopping it. \$\endgroup\$ Commented May 11, 2024 at 21:18
  • \$\begingroup\$ Sorry for being so slow on the uptake... When the MCU has to recognize the voltage on the VBUS, to wich Pin it has to be connect? \$\endgroup\$ Commented May 11, 2024 at 21:34
  • \$\begingroup\$ I don't know. if you don't power the MCU from VBUS, you need some other mechanism to sense it. It should read in the documentation like for other MCUs. \$\endgroup\$ Commented May 11, 2024 at 22:30

1 Answer 1

1
\$\begingroup\$

Does your design show any signs of "life"? Is clock running? How do you get the initial programming? From the appnote:

If the ESP32-S3 is not yet flashed with a program that enables a USB console, an initial upload of the program is required. There are 3 alternative options to perform the initial upload.

Regarding the Windows reaction, it simply means that your device is not responding to any USB requests, most likely because it does not have proper software loaded.

\$\endgroup\$
4
  • \$\begingroup\$ I sadly don't have the equipment to check whether the clock is running. When I read the documentation correctly, I only have to connect the ESP32 to the PC, press Boot while toggling Reset in order to bring the chip into upload mode. Following, a serial port should appear, which I should be able to program like a normal ESP32 Dev Board. But it looks like this port is not working. Or does this port actually work when I download the ESP-IDF and run idf.py flash -p PORT in some way? \$\endgroup\$ Commented May 11, 2024 at 21:07
  • \$\begingroup\$ @Omega. " an initial upload of the program is required" - have you performed this step? I am not that familiar with ESP32, but where is your bootup flash or UART port to do initial programming? \$\endgroup\$ Commented May 11, 2024 at 21:37
  • \$\begingroup\$ @Omega, which documentation do you read? For a reference board, or else? How does your design differ from the reference development board? \$\endgroup\$ Commented May 11, 2024 at 21:41
  • \$\begingroup\$ I read the documentation I linked in my initial question about the USB OTG Console. My board differs from the ESP Dev Board in terms of the power not coming from the USB port. The USB's ID and VBUS pins aren't connected to anything. \$\endgroup\$ Commented May 12, 2024 at 10:09

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.