I know nothing about circuit board design, but I’ve done some searching around and haven’t found a solution to my problem. I have all 6 ports of my FW16 filled up and need another port because not having an SD card slot has proved problematic with needing to use my 3d printer. (No, octoprint is not a solution, I’m tired of dealing with Rpis and having to tear open config files to manually update settings when the network stops responding.) Therefore, I need an open bay on my framework to fit an SD card slot.
I don’t have any ports on my FW16 that I could do without frequently, and I dont want to be switching cards in and out constantly. From top to bottom, left to right, my ports go as follows. USB C, DisplayPort, Ethernet, USB C, USB A, 3.5mm audio.
I figure that a solution to my problem is to condense the 3.5mm audio and a USB port into a single card, I saw a photo of the 3.5mm board and supposedly the USB C and USB A cards are just passthrough traces to the actual USB C ports on the motherboard.
Knowing what I know about USB C charging (nothing) I figure 2 possibilities.
USB C and 3.5mm audio card, The card would contain a USB hub to control the 3.5mm conversion, and to let the USB C port deliver power. This seems like the more space constrained idea, because I have zero clue how big a USB C controller that can support 240 watt charging would be.
USB A and 3.5mm audio card, This card would also contain a USB hub inside to control the audio jack and the USB A port, but because you can’t backfeed 240 watts of power through a USB A port, being able to handle charging through the hub wouldn’t be an issue, and thus can use a smaller/lower tier hub controller.
My needs for the USB A port are for older/more robust devices that I use. If it’s a USB C plus 3.5mm jack, it MUST support 240 watt charging because I need dual charging ports. I’m routinely using my laptop in scenarios where I’ll have to use one side rather than the other to charge. I’d prefer it to be the USB A option.
So, I ask, how do I go about learning how to design circuit boards so I can make this expansion card a reality? Or does anyone know of a similar project that I didn’t manage to find? And no, I’m not buying any more dongles to fix this problem, I’ve had enough of dongles, even if it means I’m going to spend more money designing such a thing.
For learning PCB design, honestly, just youtube is enough to get started. I’d recommend KiCad. It’s free, open source, and not limited like free versions of commercial software can be.
I haven’t run into anyone creating a similar audio + usb project. Just some people saying they’d like such a card. There are projects such as dual USB-C port, dual USB-A, dongle + USB-A, dongle hider, etc. In varying states of completeness.
The dongle + USB-A card project might be a useful starting place for building the card you want. As it already contains a small usb hub chip, usb-c port, usb-a port. You can rearrange things, then add the audio components. I do believe the design is open source.
Sounds like this is the root cause problem you should be troubleshooting.
“octoprint is not a solution”
Yeah I switched from Octoprint to the “prind” stack of Klipper + Moonraker + Fluidd, and won’t be going back. Installs and updates straight from docker-compose, very polished experience, connects over the network to modern slicers like Orca. Literally control the printer startup macros in a tab in Orca, press the print button in Orca, and bam machine starts heating and moving, no fiddling with SD required…
Yes RPis are really showing their age and some hardware design brittleness, but they’re not the only hardware solution. You didn’t mention what printer / MCU you have specifically, but if it will connect via USB to an RPi, it should also connect via USB to an x86 based host, yesno?
So, while I like your idea about USB + 3.5mm jack in one expansion card from a space efficiency standpoint, trying hard to make yourself do more work shifting SD cards feels like elegantly solving the wrong problem to me.
I do think that the USB-A + 3.5mm is the more feasible option (including support for USB-C charging would be complex).
Side note, there’s a bit of a trick that you can do regarding USB 2.0 and 3.x:
USB 3.x hub chips are physically larger and more complicated than USB 2.0 hubs, however since USB 2.0 and 3.x use separate wires you can use a USB 2.0 hub chip and connect the 3.x wires directly to the USB-A port (bypassing the hub).
This allows for retaining USB 3.x speeds on the USB-A jack without needing the size and complexity of a USB hub. This non-standard topology isn’t compliant with the USB specification and people have reported issues when in the rear slots of AMD-based Framework laptops, however in other slots it functions properly.
This technique is used by the DongleHider+ (which MJ1 linked to a schematic of).
I realize it’s probably not desirable, but you could use the USB-C display output from the graphics module in place of the display port expansion card.
I wish you luck with finding an elegant solution to your problem.