Can't use USB port after pin misconfiguration (ESP32-S3)
Posted: Fri Jul 28, 2023 9:23 pm
Hi there,
I recently finished my second custom ESP32 board, this time based on the S3. Everything worked fine, however today I accidentally configured the USB data negative pin (GPIO19) as an output pin. In this case it permanently tries to put the pin high. I'm measuring a voltage of around 1V, I suspect that this might be because of the computer trying to take it low or something along those lines, I'm not really an expert on USB. The result is that it does show up on the computer, but as soon as I try to upload a sketch or open the serial console, the computer reports that the serial port isn't working correctly. I think that it only reports it once I try to do something with the serial port because it didn't try to fetch any data in between startup and when trying to open the serial console. So it was malfunctioning from the moment the program pulled the pin high.
So how do I go about fixing this? I've tried a couple of things:
-Different USB port
-Different USB cable.
-Put the chip into download mode. I am used to having to always do this with the S2 and the C3, but for some reason I don't have to with this S3 (is that normal behaviour?). But that doesn't work. It doesn't go into download mode, it just runs the program as usual. This also happened before the pin misconfiguration.
-I also tried uploading an empty sketch via the UART0 pins using an FTDI USB to serial converter. However it fails to connect (yes I am using the 499 resistor). I know the FTDI board works, I've used it before without any issues and I've also checked the wiring and switch the pins around in case I got it wrong. I figured that I might be doing something wrong here, and I suspect that it also might be the most reliable way to get out of this situation.
Let me know if/what other resources might be of help (pictures, schematics, videos, you name it).
I recently finished my second custom ESP32 board, this time based on the S3. Everything worked fine, however today I accidentally configured the USB data negative pin (GPIO19) as an output pin. In this case it permanently tries to put the pin high. I'm measuring a voltage of around 1V, I suspect that this might be because of the computer trying to take it low or something along those lines, I'm not really an expert on USB. The result is that it does show up on the computer, but as soon as I try to upload a sketch or open the serial console, the computer reports that the serial port isn't working correctly. I think that it only reports it once I try to do something with the serial port because it didn't try to fetch any data in between startup and when trying to open the serial console. So it was malfunctioning from the moment the program pulled the pin high.
So how do I go about fixing this? I've tried a couple of things:
-Different USB port
-Different USB cable.
-Put the chip into download mode. I am used to having to always do this with the S2 and the C3, but for some reason I don't have to with this S3 (is that normal behaviour?). But that doesn't work. It doesn't go into download mode, it just runs the program as usual. This also happened before the pin misconfiguration.
-I also tried uploading an empty sketch via the UART0 pins using an FTDI USB to serial converter. However it fails to connect (yes I am using the 499 resistor). I know the FTDI board works, I've used it before without any issues and I've also checked the wiring and switch the pins around in case I got it wrong. I figured that I might be doing something wrong here, and I suspect that it also might be the most reliable way to get out of this situation.
Let me know if/what other resources might be of help (pictures, schematics, videos, you name it).