Accessing USB device and FTDI over the same USB port

I have an Arduino Nano with USB port connected fix to the FTDI. I also have a cheap audio module called DFPlayer (link), whose chipset (YX5200-24SS) has USB signals (U+/U-).
Naturally I had the bright idea to simply connect these 2 signals to the corresponding leads of the USB port and see what happens.

Nothing at first, my PC (running WIN10) kept indicating that a new USB device is recognized, but I could still only use the FTDI but not access the USB device.

I posed myself the following question: how can I make the FTDI chip release the USB bus? Looking through the manual I only found a single reset signal, so I made it accessible (pin #19 of the FT232RL).

I observed the following:

  • if I plug the USB port, I can use it to download code (normal operation)
  • if I pull the FTDI reset to GND, I cannot upload code, BUT the PC recognizes the USB device and I can manipulate the SD-card contents on the DFPlayer module :slight_smile:
  • if the reset is released (floating or connected to 5V), I still see the SD-card, and cannot access the FTDI
  • now it gets more confusing. I can work again with the FTDI, but only after rebooting the PC (?), and I'm also not sure if I can recover FTDI operation unless I remove the connections from the DFPlayer to the USB port.

My goal: connect both USB device and FTDI to same USB port. In the program code I can control the FTDI reset with a digital I/O, so in a certain mode I can choose to make the USB device visible (advantage is, I do not have to remove the SD-card to change content). When I leave this mode, I want to have FTDI to work again if I want to download code.

My question: Can it work? Can someone explain the theory of operation behind it?