Dual USB-C Expansion Card

Likely none. Enabling DP on one of the ports might be theoretically possible with some clever electronics, and would probably downgrade the other port to USB 2.0 when used, but given the size constraints and required knowledge for developing something like this, it’s probably unfeasible.

Charging is pretty much out of the question due to the size constraints. The only way it could maybe work is if the non-charging port would be permanently limited to USB 2.0 and to a very low maximum power output.

If you need such functions, I recommend getting an external hub/docking station as linked above.

3 Likes

Exactly, sadly none of them can do anything but plain USB 3.1 Gen 1. More functionality would require even more chips on that small board that are either not publicly available or just don’t exist.
The short version is USB-C ports can be configured to do different things through some of the pins, there’s no real minimum spec, it’s possible to have a port that can do nothing but charging, maybe have only USB 2.0, maybe can’t do anything but displayport-output, from the outside by looking at the port you cannot figure that out (you can’t even see if it’s a host or device port or it can act as both).
Additionally if you could enable charging on one or both ports, you have 20V (the USB-PD charging works at 20V on the Framework Laptop) on the supply rails that has to be stepped down to 5V for the other port (and from there to 1.2V and 3.3V for the chip’s supply) and converting 20V to 5V at around 2A requires quite some board area. So in my opinion unless there’s some highly integrated specialised chip that can handle all that, it’s just not enough space.
In my opinion it’s an okay-ish limitation to have only USB 3 on the hub, especially since the AMD Framework devices do also have ports that only support regular USB (and no alt-mode, charging or thunderbolt). And since this seems to be the first functional prototype in this thread at all :innocent:.

10 Likes

Thanks for the in-depth explanation! That’s a shame, but that does make a lot of sense. And having a card that can have 2 USB ports on it is already a huge step-up. I guess what I’m gonna be doing is switch to a USB-C Yubikey and get one of these cards when it comes out. That should make me happy (I work in the field a lot and have pretty steep port requirements, so it was sad to see that the only USB-C ports were basically passed through 1-to-1 from the laptop.

Anyway, good luck with the rest of the production and testing :slight_smile: Do you have a tentative idea when the first batch might be for sale? Or when the project is in a state where someone could assemble their own? I assume the enclosure would be the hardest thing to come by unless you were to 3D print one

4 Likes

In my situation, this would be a huge step up for me, I can connect more things to the laptop without as much worry.
With just 2 of these on the Framework 16, I can turn the 6 porter into a 4 fully porter + 4 USB 3.1 Gen 1. The 3.1 are perfect for a mouse and for external drives (I know framework has high storage modules but I already have the drives) for backups.

4 Likes

If it’s confusing what the ports support or not (display port etc.):
You could take advantage of the fact that they come as expansion cards and put a little text (maybe slightly indented) in the outer plastic, maybe even as part of the file for the 3D printer.

2 Likes

Well… :crazy_face: … in the upcoming Framework 16 that would be six extra ports :smile:

4 Likes

@tbe have you contacted Framework about your design yet? I think they might be keen on either helping you make the board a reality or maybe outright buying the design and / or hiring you :slight_smile:

Neither of these will likely happen, the most Framework has ever assisted anyone with expansion cards is funding which has been paused. Framework already knows about the design.

4 Likes

Re-reading your post, I just came up with a new idea…
I know this would be a whole new project, but if space is the issue, how about making a USB-C hub including PD-functionality, that offers expansion card slots additionally?
That way you should have more space than needed. :wink:

Looks like someone else already had a similar idea, at least concerning the hub:

What an impressive mental image. Is there any other laptop on the market with 12 USB 3.1 ports?!?

You are an actual deity

1 Like

That would mean building a thunderbolt hub, which are very expensive, plus adding the expansion cards on top of that.

The much more economical solution is to use dedicated controllers on the PCB so you can simply add some plain USB-C ports plus a network port or an audio port or whatever you might need/want instead of going for general all-purpose ports.

2 Likes

Soooo, time for an update :relieved:

The new fixed daughter-boards arrived yesterday and I did assemble one tonight.

Optically not much of a difference:

I did adjust the silkscreen-text to my experiences so far :joy::

The whole thing connected:

And we actually do now have a USB 3 device :blush:.

The two generic ones are the from the hub controller:

The USB 3 section of the controller:

The USB 2 part:

A quick AS-SSD benchmark:

The benchmark could be faster, but I used some Ali-express USB to NVME-adapter, so I actually don’t know what’s the limiting factor here.

Edit: That’s by the way a benchmark with the same SSD on the USB 3 5Gbit port on my Dell Thunderbolt dock:


So I’d say it’s a good result :blush:.

I’m a little impressed (and proud :blush:) it works at all!
I did also test all ports (so the cable in both directions on both ports), and it works with USB 3 in all circumstances.

The next step will be designing an enclosure :blush:.

49 Likes

Absolutely amazing! Great work so far! The silkscreen update seems very understandable haha

Excellent progress!

Actually because of the way the ports are implemented there’s in theory some sketchy redneck-engineering way to have four ports on the expansion-card :sweat_smile: (with an adapter).

What a thing of beauty! Congratulations, good luck on the enclosure part. I’d like to buy one or two if you plan on selling them. :+1:

5 Likes

You did the “just put 2 usb2 ports per type-c port instead of a mux” thing?

Yes, mainly to avoid additional switching ICs and therefore more occupied PCB area (and BOM cost). Also the 4-port IC has the exact same size and footprint as the 2-port version and the 2 native C-ports is significantly larger. I can’t see any downside of implementing it that way. Also it’s an implementation mentioned in the application note for the hub IC.

2 Likes

You payed for 4 port and you will use 4 ports XD. Pretty sure the 2 port is just a cut down 4 port anyway.

Honestly I prefer this implementation over the official one, who is going to say not to an extra port, if framework used this method, making a dual port card would have been almost infinitely easier.

1 Like

I guess that’s not an option if you have Thunderbolt capabilities since it uses both RX/TX channels. Also it would have some cavities when you plug a PD-device into one of the ports since you then suddenly have a higher voltage on the supply lines which you would have to manage then to not kill things that are on the other port.

2 Likes