Detecting a valid USB device

Hi all,

I'm working on a project where I'd like to make a USB 3.0 port dual use and I'd like to use a BUS switch IC and arduino to decide if what's plugged in is a USB device or other IO device, so if it finds a device descriptor, it'll put it on the USB BUS, otherwise it'll route pins to the IO.

I understand it's not the best idea in the world and open to a lot of problems, but since I anticipate a very limited number of devices to be connected I think it'd be safe enough. The VCC and GND pins would be the same either way.

I've tried to search based on this criteria but found very little in just determining a valid USB device is connected. Looking for pull down/ups wouldn't work as any of the IO could have these.

Doea anyone have any ideas?

What would that "USB BUS switcht" look like? USB is not a BUS.
The Arduino default USB port is a client. To connect to I/O things a Server USB is needed.

It would be a standard bus switch, not necessarily oriented to USB.

Univerval Serial Bus isn't a BUS?

No! But it runs so fast it appears as a bus to the two participating devices.

1 Like

Interesting.

Back to the topic though, any ideas how do achieve the above goal?

I'm sure it's been done plenty of times, I just can't find the terms to search to find it.

Here, let me do your work for you..

Thanks.. but I know all that. I was looking to see if a known mechanism/method to detect a USB device other than pull up/down resistor on the data lines was available really.

Of course I could use something like a raspberry pi to "see" a USB device and then send my target device a signal to say "hey, I found a USB device" but the reason I'm asking here is that something like that is well over the top for what I want to achieve. An arduino that could be the middle man would be great. If it's not something an arduino can do, I'll explore other avenues.

That seems to be wanting to cause a device to be detected, rather than how to detect a device.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.