Framework I/O Expansion Dock?

Hi all,

This may be a niche feature, but I was doing some thinking about the way the architecture is set up for the expansion card configurations. Depending on the stiffness of the connection rail (how resistant or compliant it is to accidentally bending the USB-C outlet), there’s nothing conceptually there stopping development of a dock, either by framework itself or by the community. It looks like the expansion cards plug directly into the mainboard, which means that on ALL framework devices that share mainboard layout, the plugs should be equally spaced, and alignment will be consistent across SKUs. A dock could therefore clip into at minimum two of the USB-C expansion card slots, regardless of the exact model or diy shell of the laptop in question.

Formfactor-wise, this would look in my mind like a long bar that spans the width of two USB-C connections, with a secure way to clip into two modified usb expansion cards (Depending on whether bandwidth is shared between mainboard usb-c ports, the data connection could be made to one or both of the expansion card slots. Spanning both slots might only be advantageous for rigidity). The exterior side of this hypothetical dock could be populated with a slew of frequently used ports for connecting to a home station, something like two USB-A, gigabit (or higher?) ethernet, monitor ports, and an extra slot(s) for an expansion card of the user’s choice - all no longer limited internally by the small size of an expansion card. Any PC that shares USB-C spacing with the mainboard would theoretically be compatible with the dock, and it would allow for high-use low-portability peripherals to be plugged in at the desk only when the user needs them, solving one of the worries regarding limited I/O present on the current offering.

Of course the question comes up to me of, “Why bother? USB-C Hubs are a thing!” - I can’t answer that from a market demand perspective, but from a technical standpoint a “true” dock would be more rigid, meaning that a slimmer dock could be semi-permanently attached to the PC as an I/O expansion “deck”, or a beefier dock (think traditional enterprise solutions) could incorporate useful features like built-in storage, quieter/higher output fan, cooling standoff distance for airflow, or any variety of potential feature improvements over the original form factor not traditionally viable with a standard hub. To me that makes it an interesting idea to explore.

I’m envisioning this as a project that could either be driven by Framework or by the community - my knowledge on circuit design is limited, but I am a mechanical engineer by trade and could probably figure out the physical layout and enclosure side pretty readily if this were to be a DIY-style project. First though I’d be interested in seeing if there is more interest from the community for this idea.

4 Likes

This is a good thought, though it will likely have to be community-led, since it’s almost impossible to commercialize that when there are so many Asian-sourced (low budget) alternatives - USBC hubs with PD passthrouth: e.g., https://www.amazon.ca/s?k=usbc+hub+pd+ethernet&ref=nb_sb_noss Or run a similar search on aliexpress.com if you don’t need it quickly. A few of the Mac-specific ones work like you say, taking two adjacent USBC ports. While none of these is ideal, in light of the time line, I’m considering one of these for expansion at home, and just rely on ‘standard’ expansion cards when on the road. How well any of these work in practice isn’t certain, of course - caveat emptor, YMMV, etc. Any thoughts on these hubs from the Framework team?

1 Like

Agreed on the timeline, unless the Framework team jumps on it I would rather rely on standard usb-c passthrough docks (clarification edit: in the short term). I know that I won’t be comfortable with going too far into a project like that without a physical laptop at my hands to play with. Additionally it would require simultaneous development of the dock-compatible expansion cards… pretty tough to prototype any of it without the hardware to test integration.

So, something that has been knocking about in my head for a while is this:

What about designing a dock that accepts the Framework Expansion cards itself, in a vertical orientation?

I don’t really know a lot about connecting it to the laptop itself regarding whether or not it would be really necessary to have it occupy two expansion slots. All of the USB-C docks I’ve seen for hardware that is out there work fine off of just one, but if it did need two expansion slots, I like your idea.

The thing I’m interested in is:

  • Having a dock that subscribes to the same design philosophy as the Framework charger.
  • Having the dock use the Framework laptop’s expansion cards, instead of having a preset port configuration.

The biggest issues I see with my idea are in determining what is more important - space or forward facing ports. If all of the ports face one direction they could all be stood up vertically very close to each other and all that would be necessary behind the cards would be the board with all of the ports on it, possibly with a power button and a headphone and or mic jack. However, if front facing ports were also to be desired, there would have to be some circuitry to connect the rotated cards, or the depth of the dock would have to effectively double to accommodate the forward facing cards.

1 Like

That’s a really interesting idea! I haven’t even thought of orienting the ports in a vertical orientation for more efficient stacking of the expansion cards. That would be very space efficient. It should be perfectly possible to mount USB-C ports 90° offset from the PCB with something like this: https://gct.co/connector/usb4151

On the surface of it, I only have a few concerns about this kind of stacking, I’d be interested in seeing if more experienced PCB designers or computer engineers could weigh in on these. Not to beat a dead horse, but again with the caveat from first post, I’m a mechanical engineer, so I’m definitely talking out of my rear a little here, way out of my comfort zone. With that in mind I’ve laid my concerns out in order, from a scale of “I think I have good reason to be concerned here” to “Just tell me to shut up” :smile:

  1. The biggest concern I have is cost: first, a giant rack of USB-C ports, each compatible with DP, USB-C PD, USB 3.1, etc. is probably more expensive and much more complex PCB-side than if you were to select a couple universally used I/O ports, such as USB-A, HDMI, etc. This could be alleviated by introducing a handful of expansion card-compatible ports, with then another large group handled by a couple hand-picked ports. Not to mention, expansion cards are hardly cheap to begin with: two $19 DP expansion cards already gets you a competent usb-c hub from most online retailers. I would hesitate to force any user to use the expansion cards in order to get basic ports, such as two USB-A for mouse and keyboard, and some ports that would otherwise require double-high stacking, like ethernet. This is the main reason why in my original “concept” layout I only visualized including one or two expansion card slots.

  2. I think I recall reading elsewhere in the forum a little bit later that the left side of the board gets one thunderbolt controller, and the right side gets another. I believe this means that any throughput on one side will be identical between connecting to one or two USB-C ports. This would make a dock like I outlined of negligible value compared to readily available ones, unless a future mainboard revision flips this so that the “top” and “bottom” of the board is how you split the controllers. I don’t anticipate this happening though since the only benefit I can see to that would be for something like this dock application.

  3. You still need space for the control board for the gajillion new USB-C ports you now have to handle data, switching, etc. through. I imagine that means a bigger, more expensive PCB, which increases the dimensions of your dock, along with weight and any thermal concerns. This is where I really start talking out of my comfort zone, I have nothing but speculation to back me up on this as I lack any competence in PCB design to be able to tell you what we can/cannot accomplish in a given form factor.

  4. On to pure speculation: some expansion cards such as the SSD cards might get hot. With the current layout, you’re guaranteed that at least one of the faces is exposed to air and can get some convective cooling. By stacking them right on top of each other, you might end up adversely affecting either performance (which I’m not as concerned by because of point 2), or in the worst case, longevity of the part. This could be alleviated by some clever thermal design on the dock or the expansion card casing (back to my comfort zone! Yay!) but all of this would require a lot more engineering time and cost.

I’d be curious to see what others think about this idea though, I think it’s a really neat idea. It might be a great thing for future framework products to have an expansion card “deck” hub, so that people can make use of more of their cards at once to begin with. That $19 DP card isn’t much use when it’s not plugged in anyways, so if people end up with more expansion cards than they know what to do with, this would completely alleviate part of my first concern.

1 Like

I agree with you that it would probably be more expensive, but there is a method to the madness…and I make the following points in no particular order:

  • Not all users have or want to use the same cables to deliver video, so dwelling on one particular video out may not be the best idea.(I’m thinking environmentally here, more than anything)
  • The same is true for a lot of the other “standard” ports on a dock. My microphone and keyboard will both connect via USB-C. USB-C is also the only supported connector in the USB4/Thunderbolt 4 spec, meaning that USB-A will be phased out of common use in the coming years - I’d rather not replace my dock in 3-4 years because the ports are wasted.
  • My initial proposal suggested the audio ports be standard on the dock. If the framework expansion cards can’t handle the Ethernet connector, I see no reason to not include it by default.
  • The size increase is likely to be negligible.
  • SSD cards would not really run hot as the the data throughput would prevent something like a RAID array from being ran off of them very efficiently. If you were going to going to be performing performance critical read/write operations, you would always want to plug your removable drives directly into the computer, regardless of what dock you use.
  • Cooling, to what degree it will be needed, will be fairly easy to acheive. Most docks are buit without any inbuilt cooling at all beyond the components being spread out That said, the design of the expansion cards would automatically generate some additional space between their circuitry, and the width of the cards woud create enough height that any PCB inside would have plenty of space to allow for cooling.
  • Furthermore, while the initial cost may be higher, in the long run, by adhering to the same design concepts as the Framework Laptop, the dock will last longer as the cable and any internal parts woud be replaceable, future upgrades…like USB5, Terrabit Ethernet, etc. would be less expensive as you could just switch out the control board in the dock. Even if the dock cost 150% of what a comparable ThinkPad dock would cost, it would still save money and be more effective in the long run, not to mention more environmentally friendly.
1 Like

that would be really cool for sure! the only issue I see with this framework module compliant dock is all of the ports would have to share either 1 or 2 40gb/s lanes so you’d want to be careful what you plug in if it uses a ton of bandwidth like an ultrahd display and an external driver that is hosting files you’ll need to access a ton. but other than that I would buy a dock like that for sure, especially if it had some visual indicator on the outside which ports are linked to the port on the computer so I could better split up the high bandwidth usage peripherals.

Actually I know several people who have 3d printers and I’m a pretty decent with a soldering iron… I might be able to build a proof of concept that could be fun.

Those are all great points @kenshinjenna. My one disagreement is that with some wired peripherals such as mice and keyboards, I’m not so sure the mass market will ever truly move away from USB-A despite the USB4 spec (with the giant caveat of bluetooth peripherals making basically any USB-A ports redundant), and certainly not in the next few years. Even webcams don’t really have any reason to move past USB 2.0, frankly. That’s really just a matter of whose crystal ball is right though, and mine is just not as optimistic as yours :smile:. I would love to live in a “everything is USB-C” world, but I don’t see the road there yet, unless USB-C becomes the univerally accepted charging port for all your wireless peripherals.

And Pyro I agree, I think that if the dock was handling multiple lanes some thought would have to go into how they’re split, and you’d probably want to reflect that in the visual language of the dock. A lot of ergonomics and visual design work to match the framework laptop itself for sure. That being said, I think that for now a dock that stays on one side of the laptop would only ever handle one lane since lanes are split side to side. That means that if two lanes are needed the dock would possibly have to span below the laptop, from one side to the other, and it would almost be a situation of clipping the laptop down into the dock. Not impossible and still pretty cool, but it would certainly be a different idea from my first post.