I did some searching and got the ESP32-S3-USB-OTG device to work by adding this code to enable power on the host USB connector.
gpio_set_direction(12, GPIO_MODE_OUTPUT);
gpio_set_direction(13, GPIO_MODE_OUTPUT);
gpio_set_direction(17, GPIO_MODE_OUTPUT);
gpio_set_direction(18, GPIO_MODE_OUTPUT);
gpio_set_level(12, 1); // DEV_VBUS_EN
gpio_set_level(13, 0); // BOOST_EN
gpio_set_level(17, 1); // IDEV_LIMIT_EN
gpio_set_level(18, 1); // USB_SEL
I was quite excited buying a eps32-s3-usb-otg board, because it seemed like a fully loaded Ford F-150 pickup truck that could do everything...
I got an usb-msc ram drive working great on the boards usb-dev interface when connected to my laptop.
Then after setting the gpio pins (as shown above), I was able to get an usb cdc host working great on the boards usb-host interface, when connected to an usb cdc serial dongle I have.
Then I discovered that by setting the gpio 18 pin, it totally disables the boards usb-dev interface and along with it my working usb-msc ram drive.
Without both usb-dev and usb-host interfaces working concurrently, it makes my app useless
Can anyone confirm if this a hardware limitation, or something that could be improved with updated firmware .
thanks