Framework 16 Network Switch Expansion Module

I’ve been working on this idea for a little while now (basically all conceptual at the moment until I have time to properly design the pcb and whatnot) but basically having a network switch built into the back of the laptop.

At the moment I have settled on having a 2.5gb internal nic for connecting directly to the laptop as well as 1x 2.5gb uplink port and 4x 1gb ports on the exterior of the device. Originally I wanted all 2.5gb but due to the availability of various chips it is just not possible for an individual to develop something at those speeds.

The issue I am trying to solve at the moment is the case for this module. I would love to be able to reuse the expansion bay cover module as its a fairly complicated part and most people will already have one plus it already comes with fans. The problem with the expansion bay cover is that its cutout for custom I/O is too small for rj45 ports which is inconvenient. I thought of creating a daughter board that is purely to house the external rj45 ports as well as a pair of USB C connectors to connect to the main control board through the opening in the expansion bay cover. My biggest concern with this is that there would be too much interference with multiple ethernet connections going through a USB C connector and having 5 individual USB C connectors doesn’t seem great. I talked on the framework discord about this some and josh cook thought it might work to just replace the plastic part of the expansion bay cover with an altered 3d printable one but it seems like quite an involved process to disassemble the cover module and I don’t have a 3d printer large enough to print that part. If anyone has any other ideas/potential solutions to this please let me know.

I have the necessary components picked out, I just haven’t created a PCB design yet. Hopefully, I can get a working board soonish, but I can make no timeline promises as I am in my senior year of high school and so I am kinda busy with life stuff at the moment.


For all it’s worth, I would buy something like this. I’m commenting to keep track of this project and where it ends up going.

I have been working on this off and on for the last couple of weeks when I have time, far from finished but I do have several updates.

  1. Making RJ45 fit:
    After some research I found another framework thread seeking to make a low profile Ethernet adapter, there I saw that they used an interesting partial rj45 port that has the pins but not most of the physical connector. In theory this connector should just be slim enough to fit through the opening in the rear, and then I will design a 3d printable piece that will form the top half of all the connectors as well as making it look a bit nicer.

  2. Schematic:
    I have gotten a lot of the schematic fleshed out, just some odds and ends with power and flash chips. However, the current version of frameworks expansion bay documentation isn’t finalized, so to ensure compatibility I will be waiting to make a functional prototype until that is ready.

Also just to show something for what I’ve done, here is a (and I can’t stress this enough) very very early rendering of the board. Things likely to change in it? Basically everything, this was more for me to figure out placement of the connectors and for instance that notch between the rj45 connectors will likely go away partially.

If you want to keep more up to date with the project, I am fairly active in the #projects channel in the official framework discord server.