ESP-IDFV5.5.2 + ESP32S3 : GPIO USB dosn't work [EEFUSE]
Posted: Thu Mar 19, 2026 3:14 pm
Hello ,
I have one board with some relay , and 2 of them are connected in USB+ and USB - (GPIO19 - GPIO20)
At the beginning i had some issue GPIO20 are on during 800 ms when I program or after reset. I think it's for the bootloader.
That is why try to desactivate usb by sdkconfig
That is doesn't work , and I try this command:
espefuse.py --port /dev/ttyUSB0 burn_efuse USB_PHY_SEL
Since that during the startup the relay are off and now the relay are off all time. Sadly the efuse can be burn only one time. That is why I think It's my problem and i need to change my device.
For validate my hypothesis i chose to do a blank project. I have 5 relays total. (GPIO17 to GPIO21) In my blank project, I set all 5 HIGH — 3 work correctly, but GPIO19 & GPIO20 stay LOW.
And I attach sdkconfig.
Could you tell me:
- If it's possible to use again these pins or these pins are dead ?
- If I need to change this device, can I desactivate usb during the bootloader?
- Or the solution is to change the GPIO pin. For all future project I prefer to reserve usb pin as usb pin ( or Led )
Thanks,
Mattpatt
I have one board with some relay , and 2 of them are connected in USB+ and USB - (GPIO19 - GPIO20)
At the beginning i had some issue GPIO20 are on during 800 ms when I program or after reset. I think it's for the bootloader.
That is why try to desactivate usb by sdkconfig
Code: Select all
CONFIG_USJ_ENABLE_USB_SERIAL_JTAG=n
CONFIG_ESP_CONSOLE_SECONDARY_NONE=y
CONFIG_TINYUSB=n
CONFIG_ESP_CONSOLE_UART_DEFAULT=y
CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=n
CONFIG_USB_CDC_ENABLED=nespefuse.py --port /dev/ttyUSB0 burn_efuse USB_PHY_SEL
Since that during the startup the relay are off and now the relay are off all time. Sadly the efuse can be burn only one time. That is why I think It's my problem and i need to change my device.
For validate my hypothesis i chose to do a blank project. I have 5 relays total. (GPIO17 to GPIO21) In my blank project, I set all 5 HIGH — 3 work correctly, but GPIO19 & GPIO20 stay LOW.
Code: Select all
#include "driver/gpio.h"
#define PIN_MIN 17
#define PIN_MAX 21
void app_main(void)
{
for (int pin = PIN_MIN; pin <= PIN_MAX; pin++) {
gpio_config_t io_conf = {
.pin_bit_mask = (1ULL << pin),
.mode = GPIO_MODE_OUTPUT,
.pull_up_en = GPIO_PULLUP_DISABLE,
.pull_down_en = GPIO_PULLDOWN_DISABLE,
.intr_type = GPIO_INTR_DISABLE,
};
gpio_config(&io_conf);
gpio_set_level(pin, 1);
}
while (1) {
}
}
And I attach sdkconfig.
Could you tell me:
- If it's possible to use again these pins or these pins are dead ?
- If I need to change this device, can I desactivate usb during the bootloader?
- Or the solution is to change the GPIO pin. For all future project I prefer to reserve usb pin as usb pin ( or Led )
Thanks,
Mattpatt