USB JTAG dies when I2C is enabled.
Posted: Sun Mar 02, 2025 7:33 am
Hi Espressifholics!
I'm trying to use a board like in this link: https://www.waveshare.com/wiki/ESP32-S3-Touch-LCD-4.3
It has 2 USB connectors. One of them is connected the ESP32-S3 USB ports directly and I use it for JTAG flashing and debugging. I'm using ESP-IDF with VSCode. Everything works perfectly fine until I try to use LVGL demo https://www.waveshare.com/wiki/ESP32-S3 ... gl_Porting
Right after the LCD panel is configured the USB gets disconnected from my PC and I can no longer use it for flashing or debugging. To flash it again I have to disconnect the USB cable, press and hold the BOOT button and connect the cable back. Or I can use the second USB but that can be used only for flashing - no debugging there.
Anyway, I narrowed down the problem and it looks like the USB connection dies when the I2C0 for touch panel is configured and activated. I tried to find the reason for that but no luck. The GPIOs are not shared. I'm not sure how the IO MUX works but it looks like there is no conflict between I2C0 and USB/JTAG.
Does anyone know what the problem is? Has anyone experienced that and maybe managed to solve it somehow?
Thanks in advance!
Adam
I'm trying to use a board like in this link: https://www.waveshare.com/wiki/ESP32-S3-Touch-LCD-4.3
It has 2 USB connectors. One of them is connected the ESP32-S3 USB ports directly and I use it for JTAG flashing and debugging. I'm using ESP-IDF with VSCode. Everything works perfectly fine until I try to use LVGL demo https://www.waveshare.com/wiki/ESP32-S3 ... gl_Porting
Right after the LCD panel is configured the USB gets disconnected from my PC and I can no longer use it for flashing or debugging. To flash it again I have to disconnect the USB cable, press and hold the BOOT button and connect the cable back. Or I can use the second USB but that can be used only for flashing - no debugging there.
Anyway, I narrowed down the problem and it looks like the USB connection dies when the I2C0 for touch panel is configured and activated. I tried to find the reason for that but no luck. The GPIOs are not shared. I'm not sure how the IO MUX works but it looks like there is no conflict between I2C0 and USB/JTAG.
Does anyone know what the problem is? Has anyone experienced that and maybe managed to solve it somehow?
Thanks in advance!
Adam