this post was submitted on 24 Dec 2025
28 points (100.0% liked)

Raspberry Pi

3772 readers
45 users here now

Welcome to the programming.dev Raspberry Pi community!

Raspberry Pi is a series of small single-board computers. It is widely used in many areas because of its low cost, modularity, and open design. It is typically used by computer and electronic hobbyists.

Rules

Members of this community are expected to exhibit mature and respectful behavior.

Those who fail to uphold these standards may find their posts or comments removed, with repeat offenders potentially facing a permanent ban.

Please keep discussions in English so that they can be appropriately moderated.

Links

founded 2 years ago
MODERATORS
 

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

you are viewing a single comment's thread
view the rest of the comments
[โ€“] ExtremeDullard@piefed.social 20 points 10 hours ago* (last edited 10 hours ago) (2 children)

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:

image

I've been at the same company doing this stuff for years. Things add up over the years ๐Ÿ™‚

[โ€“] ikidd@lemmy.world 4 points 3 hours ago (1 children)

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.

[โ€“] ExtremeDullard@piefed.social 5 points 2 hours ago* (last edited 2 hours ago) (1 children)

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 on

Each 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.

[โ€“] rbos@lemmy.ca 1 points 2 hours ago
[โ€“] dumbass@piefed.social 6 points 8 hours ago

Yep, knew it was worth asking that question.