If you do, then you’re in luck, thanks to the Suptronics X1013 expansion board for the Raspberry Pi 5, which adds ten USB ports for a total of fourteen
If you do, then you’re in luck, thanks to the Suptronics X1013 expansion board for the Raspberry Pi 5, which adds ten USB ports for a total of fourteen
I work in a company that makes a range of measurement devices that talk over serial port. Some talk UART, some talk RS232, others talk RS422. I need to be able to test several of those at the same time - or maybe not, but when I’m sitting at home and working remotely, I like to have one of each kind already connected, ready to use. That’s one USB port (for a FTDI USB-to-serial converter cable) or real RS232 port connected per device.
All those devices also have a second UART serial port to dump tracing information onto. Most of my test devices have the trace serial port connected also. That’s another USB port per device.
And then most - not all, but most - have a JTAG programmer attached to them, to debug then and reflash their firmwares. That’s one USB port for each JTAG programmer.
And I have several programmable bench power supplies controlling power to several batches of those devices. Each one of those power supplies uses one USB port.
And I have 3 cameras watching the goings on with those devices, one per USB bus (Linux won’t allow more for bandwidth reason) to make alignment easier.
And to debug some of the devices, I have them talking through “snoop cables”, i.e. a regular serial cable to control the device, but with the Rx line connected to a second cable’s Rx line, and the Tx line connected to a third cable’s Rx line, so that, by watching what comes through the 2 snoop cables, I know exactly what gets transferred to / from the device, if I have any doubt about what goes on at the hardware level.
And then I have a couple of USB-controlled precision tilt tables to align 3 of the devices. That’s 3 more USB ports - although the tilt table’s controllers also act as USB hubs, so I get two USB ports back for every main one I use.
And then I have oddball devices connected, like a servo controller for another application, a USB-to-serial cables out of which I only use the RTS line to turn a laser pointer on and off.
And then a trackball, a keyboard, a 3D Space Mouse for CAD’ing…
This is one of my USB hubs:
I’ve been at the same company doing this stuff for years. Things add up over the years 🙂
Yep, knew it was worth asking that question.
I hope you have a spreadsheet of all that. I’d smoke something pretty quick trying to remember which port has the power supply for X device.
No need. I have better than that: dev file aliases. So I have for example
/dev/crs1, the device/dev/crs1_pwr, the PSU for that device (if it’s powered alone)/dev/crs1_snoop_rx, the serial cable that snoops on the device’s Rx line/dev/crs1_snoop_tx, the serial cable that snoops on the device’s Tx line/dev/crs1_jtag, the JTAG adapter that programs / debugs that device/dev/crs1_tilt_x, the X axis of the tilt table the device is mounted on/dev/crs1_tilt_y, the X axis of the tilt table the device is mounted onEach point to some nondescript
/dev/ttyUSB?or/dev/ttyACM?but the aliases have meaningful names, so I don’t need to remember anything.That’s the power of udev 🙂 And also one of the many reasons why Linux is better than Windows.
Very nice!