OcuLink eGPU Expansion Bay Module
The OcuLink eGPU Expansion Bay Module is a community-developed hardware project that adds OCuLink (Optical-Copper Link) external GPU connectivity to the Framework Laptop 16 via its Expansion Bay. OCuLink provides a direct PCIe connection to the laptop's GPU slot, offering significantly higher bandwidth than USB4/Thunderbolt — up to ~63 Gbps for 4i (x4 PCIe 4.0) and ~126 Gbps for 8i (x8 PCIe 4.0), compared to ~32 Gbps for USB41. The project was initiated in June 2023 after Framework CEO Nrp greenlit community exploration of OCuLink for the Expansion Bay, and has since evolved through multiple design approaches, commercial preorders, and open-source hardware iterations1.
Background
Why OCuLink?
The Framework Laptop 16 features a unique Expansion Bay system that provides access to the laptop's PCIe lanes — the same lanes used by the official GPU module. External GPUs (eGPUs) have traditionally used Thunderbolt or USB4, which encapsulate PCIe traffic within a USB protocol, introducing overhead and capping usable bandwidth at approximately 32 Gbps. OCuLink (also written OCuLink or OcuLink), defined in the PCI Express CEM specification, provides a native PCIe connection without protocol encapsulation, yielding significantly higher effective bandwidth1.
| Interface | Raw Bandwidth | Usable Bandwidth | Protocol Overhead |
|---|---|---|---|
| USB4 / Thunderbolt 4 | 40 Gbps | ~32 Gbps | Tunneling overhead |
| OCuLink 4i (x4 PCIe 4.0) | ~64 Gbps | ~63 Gbps | Minimal (native PCIe) |
| OCuLink 8i (x8 PCIe 4.0) | ~128 Gbps | ~126 Gbps | Minimal (native PCIe) |
The Framework Laptop 16's Expansion Bay exposes up to 8 PCIe lanes (x8 PCIe 4.0), making it uniquely suited for OCuLink compared to other laptops that typically only offer USB4 or Thunderbolt1.
Framework's Official Stance
Framework CEO Nrp (Nirav Patel) confirmed in the original thread that Framework had been "thinking about OCuLink for the Expansion Bay" and welcomed the community to explore it. Framework later released updated PCB reference CAD files to assist community designers. Framework staff noted that 6-layer PCBs are recommended for high-speed PCIe signal integrity, though community members have demonstrated working designs on 4-layer boards1.
Development History
Phase 1: Community Greenlight and Initial Designs (June–August 2023)
Framework CEO Nrp started the OCuLink discussion thread on June 6, 2023, expressing interest in community-driven OCuLink solutions for the Expansion Bay1. The thread quickly attracted experienced hardware designers.
Seneral began developing an open-source dual 4i+DisplayPort PCB design, publishing design files on GitHub at Seneral/ExpansionBay. This design featured two OCuLink 4i connectors plus a DisplayPort output on a single Expansion Bay module2.
Josh_Cook announced a more ambitious design targeting 8i+DisplayPort with a PCIe retimer for signal integrity over the longer traces. Josh_Cook had prior experience designing Framework expansion cards through his i2c Labs venture1.
Framework released updated Expansion Bay PCB reference CAD files to assist the community, which Seneral integrated into the ExpansionBay repository2.
Phase 2: Preorders and Commercial Efforts (September 2023–March 2024)
Josh_Cook opened preorders on his website i2clabs.com.au for two OCuLink module variants1:
| Variant | Price | Description |
|---|---|---|
| 4i OCuLink Module | $55 AUD | Four PCIe lanes via OCuLink |
| 8i OCuLink Module | $55 AUD | Eight PCIe lanes via OCuLink (with retimer) |
The preorder period attracted significant community interest, with dozens of users placing orders for both variants.
Phase 3: Limited Shipments and Delays (April–September 2024)
Josh_Cook shipped a limited number of 4i OCuLink modules to some preorder customers. However, the 8i module was repeatedly delayed, with Josh_Cook citing that it was "awaiting Framework review" for extended periods. Community members grew increasingly frustrated as communication became sporadic1.
Phase 4: M.2 Ribbon Cable Breakthrough (December 2024–February 2025)
A major breakthrough occurred when community member Gmanny discovered that a standard M.2-to-OCuLink ribbon cable adapter could be used with Framework's official Dual M.2 Expansion Bay Module — no custom PCB was required for a basic 4i OCuLink setup. This was documented in a separate thread with 364 replies3.
The approach was straightforward:
- Insert the official Framework Dual M.2 Expansion Bay Module
- Connect an M.2-to-OCuLink ribbon cable adapter to one of the M.2 slots
- Route the cable out of the chassis (requiring a notch or modification to the Expansion Bay cover)
- Connect the OCuLink end to an external GPU enclosure
This eliminated the need for a custom Expansion Bay PCB for 4i use cases, dramatically lowering the barrier to entry3.
Phase 5: Community Refinements (March–May 2025)
Building on the M.2 ribbon cable breakthrough, several community members contributed refinements:
- Morkale created 3D-printed I/O covers that provided a clean exit point for the OCuLink cable, eliminating the need to cut or modify the original Expansion Bay cover1
- Kyle_Tuck designed a proper M.2-to-OCuLink PCB adapter that was more robust and reliable than ribbon cable solutions, and began selling it commercially1
- Gu_tally worked on a custom dual 4i-to-8i board, attempting to aggregate two M.2 x4 connections into a single x8 OCuLink connection1
A critical discovery during this period was the role of the EEPROM on the Expansion Bay module. The Framework Laptop 16's Embedded Controller (EC) reads an EEPROM on the Expansion Bay module to determine whether the slot should be configured for GPU mode (x8 lanes) or SSD mode (x4 lanes). Custom OCuLink modules needed to replicate the correct EEPROM configuration to enable the full x8 lane allocation1.
Phase 6: Filip's 8i Expansion Bay Board (June–December 2025)
Community member Filip (GitHub: Terrails) began developing a dedicated 8i OCuLink Expansion Bay module, publishing the design as Terrails/FW16-OCuLink under the MIT license4.
Hardware Design
| Component | Details |
|---|---|
| PCIe lanes | x8 PCIe 4.0 (OCuLink 8i) |
| PCB layers | 4-layer |
| Surface finish | ENIG (Electroless Nickel Immersion Gold) |
| Stackup | JLC04121H-1080 (JLCPCB) |
| Connector | OCuLink 8i |
| EEPROM | Configured for GPU mode (x8 lane allocation) |
| License | MIT |
| Repository | Terrails/FW16-OCuLink |
| Design tool | KiCad |
Filip chose a 4-layer PCB despite Framework's recommendation of 6 layers for PCIe signal integrity. The design proved functional, though signal integrity at 8i speeds required careful trace routing. The EEPROM was configured to report the module as a GPU, ensuring the EC allocated all 8 PCIe lanes4.
Phase 7: Testing and Benchmarks (December 2025–February 2026)
Filip's 8i board was tested by community member FWPL with an RTX 3090 on a Framework Laptop 16 (AMD Ryzen 7 7840HS). The benchmarks demonstrated a measurable improvement from 4i to 8i OCuLink1:
| Game | OCuLink 4i | OCuLink 8i | Improvement |
|---|---|---|---|
| Cyberpunk 2077 | 39.5 fps | 41.5 fps | ~5% |
| Far Cry 6 | 62 fps | 67 fps | ~8% |
The results showed that while 8i provides a bandwidth uplift, the real-world gaming performance gains are modest because most games at the tested settings are not severely bottlenecked by PCIe bandwidth at 4i (63 Gbps). The gains would be more pronounced with higher-end GPUs or compute workloads that saturate the PCIe bus1.
The project received media coverage from Liliputing and inkl.com, bringing wider attention to the Framework community's OCuLink efforts56.
Phase 8: Production and Shipping (March–April 2026)
Filip began shipping production 8i boards at €65 each. The first buyers received their boards around April 1–3, 2026. Community member Andrew_Shaffer designed a 3D-printed eGPU enclosure specifically for use with the Framework 16 OCuLink setup1.
BoeRossTech published a YouTube video titled "Framework 16 + OCuLink eGPU: Ready for Prime Time," demonstrating the complete setup with benchmarks and providing a comprehensive overview of the project's current state7.
Josh_Cook / i2c Labs Situation
Josh_Cook's i2c Labs OCuLink preorder campaign has been a source of significant community concern. After shipping a limited number of 4i modules, Josh_Cook became increasingly inactive on the Framework Community forums around mid-2025. The i2clabs.com.au website went offline. Numerous preorder customers who paid for 8i modules reported never receiving their orders or refunds. The community thread documents multiple unresolved complaints1.
This situation is notable as a cautionary example in the community hardware space — community members are advised to exercise due diligence when preordering from unestablished vendors, even those with a track record of prior completed projects.
Technical Details
PCIe Lane Configuration
The Framework Laptop 16's Expansion Bay connects to the laptop's motherboard via a high-density connector carrying up to 8 PCIe 4.0 lanes. The Embedded Controller (EC) determines lane allocation based on the EEPROM contents of the installed module1:
| EEPROM Configuration | PCIe Lane Allocation | Use Case |
|---|---|---|
| GPU module | x8 (all 8 lanes) | Official GPU module, OCuLink 8i |
| SSD module | x4 (4 lanes) | Dual M.2 adapter, basic storage |
For OCuLink 8i modules, the EEPROM must be configured to report as a GPU module to unlock all 8 PCIe lanes. Without this configuration, only 4 lanes are available, limiting bandwidth to 4i speeds1.
Fan Control
The Framework Laptop 16 ties fan control behavior to the EEPROM configuration of the Expansion Bay module. When the EEPROM reports a GPU module, the EC enables the GPU fan profile — running the Expansion Bay fan at higher speeds under load to cool the GPU. OCuLink modules configured with the GPU EEPROM profile benefit from this fan behavior, as the OCuLink connector and cable can benefit from active cooling during sustained high-bandwidth transfers1.
Signal Integrity Considerations
PCIe 4.0 signaling at 16 GT/s requires careful PCB design. Framework recommends 6-layer PCBs for Expansion Bay modules carrying high-speed PCIe signals. However, community members have demonstrated working designs on 4-layer boards with careful trace routing and impedance matching. Key considerations include1:
- Differential pair routing — PCIe lanes must be routed as tightly coupled differential pairs
- Impedance matching — 85Ω differential impedance for PCIe
- Via transitions — minimized and carefully placed to avoid signal reflections
- Retimer chips — optional but beneficial for longer trace runs, especially at 8i speeds
Commercial Products
| Product | Creator | Type | Price | Status |
|---|---|---|---|---|
| i2c Labs 4i OCuLink Module | Josh_Cook | Expansion Bay PCB | $55 AUD | Limited shipment, vendor inactive |
| i2c Labs 8i OCuLink Module | Josh_Cook | Expansion Bay PCB | $55 AUD | Never shipped, vendor inactive |
| Kyle_Tuck 4i M.2 Adapter | Kyle_Tuck | M.2-to-OCuLink PCB adapter | Varies | Available for purchase |
| Filip 8i Expansion Bay Board | Filip (Terrails) | Expansion Bay PCB | €65 | Shipping as of April 2026 |
| M.2-to-OCuLink Ribbon Cable | Various (generic) | Ribbon cable adapter | ~$10–20 | Widely available |
Setup Methods
Method 1: M.2 Ribbon Cable (Easiest, 4i Only)
Uses Framework's official Dual M.2 Expansion Bay Module with a generic M.2-to-OCuLink ribbon cable adapter. Requires a 3D-printed I/O cover or modification to the Expansion Bay cover for cable routing. Provides x4 PCIe 4.0 (~63 Gbps)3.
Method 2: Kyle_Tuck 4i Adapter (4i, More Robust)
Uses a purpose-built M.2-to-OCuLink PCB adapter designed by Kyle_Tuck. More reliable than ribbon cables and available as a commercial product1.
Method 3: Filip 8i Expansion Bay Board (8i, Maximum Bandwidth)
A dedicated Expansion Bay PCB providing x8 PCIe 4.0 (~126 Gbps) via OCuLink 8i connector. Requires the EEPROM to be configured for GPU mode. Available from Filip at €65 as of April 20264.
Method 4: Seneral's Open-Source Dual 4i+DP Board
Seneral's open-source design from the early phase of the project, featuring dual 4i connectors and DisplayPort. Available as open-source hardware on GitHub but not commercially produced2.
Related Projects
- OCuLink Expansion Bay Module — Framework Community Thread — The original and primary discussion thread (~1142 replies, started June 2023)1
- OCuLink via M.2 adapter on Framework 16 — Gmanny's M.2 ribbon cable breakthrough thread (364 replies)3
- Terrails/FW16-OCuLink — Filip's 8i OCuLink Expansion Bay board (MIT license, KiCad)4
- Seneral/ExpansionBay — Seneral's open-source dual 4i+DP Expansion Bay design2
- FrameworkComputer/Framework-16-ExpansionBay — Official Framework Expansion Bay reference designs and CAD
- OCuLink eGPU setups on non-Framework laptops — eGPU.io — Community resource for eGPU setups across all laptop platforms
- BoeRossTech — Framework 16 + OCuLink eGPU YouTube video — Video demonstration and benchmarks7