I want to control lots of USB devices from a single Raspberry Pi. So far I have only tested with RPI4 and I could only connect about 5 devices concurrently. The limitation is caused first by the fact that both the USB 3.0 and 2.0 ports are controlled by the same XHCI controller, which supports fewer devices than USB 2.0 controllers, and also the fact that each device takes up more than one "endpoint", and the hubs also take up some endpoints, so the 32 theoretical devices turns into only 5 of the devices that I need to control.
I am waiting for an RPI3 which has USB 2.0 ports to see if the number of concurrent devices is higher, however I also noticed that the RPI has an I2C bus available via GPIO.
Is there some way that I can connect standard USB devices (ie. devices that are not "I2C compatible") to the I2C bus and communicate with them as if they were connected via standard USB/serial ports?
For context I currently use the "cu" command to get a terminal connection to the USB devices to send/receive strings.
If there were some way of addressing the devices over I2C instead, then I could theoretically connect many, many more devices to a single controller (the I2C spec says 1008 peripherals are supported).