OcuLink Expansion Bay Module

Not much. Most of the price come from the 0.8mm board thickness, and the gold fingers.

But honestly, I’d say maybe a 2242 , would help to even out the load (of plugging and unplugging the oculink) to the screw, rather than to the m.2 slot. I am a little bit worried about that.

1 Like

Hi, I hope all is going well. I wanted to ask, is there already a specific cable you would recommend for this? I would then go ahead and buy it already.

1 Like

Not really. Though there apparently are a “A” and “B” standard, one of which is for enterprise bits, whereas the other is for external purposes. F9912 vs F9934

No there is no difference, beside grounding. Note that Oculink is a internal certified connector, not really for external use. But people don’t care and do it anyway.

Though I remember there is a saying that cables longer than 50cm will not work. This is technically not true, it’s just that PCIe 3 have a maximum signal strength drop of 23db and PCIe 4 a 26dB (without repeater; repeater compensate for about 15? db. I need to read whitepaper)

So shorter cable = less dropoff.

I just got a random Amphenol 50cm. I dont think it make much of a difference? But I bet the advanced shielding and bits in those OEM wires make a difference. Compared to a flat cable.

One good thing, Oculink is so cheap, I spent a extra $15 on a repeater-less Oculink to PCIe x16 board. Real fancy thing. Use Lotes PCIe connector and Amphenol Oculink bit. Even the ATX 24 pin has manufacturer.

Board with repeater is around $20, and I bought a extra Oculink to U.2. Total is still less than $100, but I didnt get any shelfing, so I have to 3D print/make some.

Of course, my custon PCB is $100 alone, so I dont know. if I should pursue that.
GoFundMe time?

1 Like

Thanks, but I was actually inquiring about the oculink 8i board from @Gu_tally

2 Likes

Am I correct to assume that there is no info on FW on how to get BIOS to recognize it?

1 Like

So this is what 4th try?

You cannot get it to work without support from Framework. I wonder why they are not helping.

That’s pretty cool. Though a minor problem – very few actually use the 8i. Though they do exist.

:eyes:

There are IDs for the expansion bay, so he’s right in that you need a little bit more work than just “connect A to B”. But in a way it’s also easier, because you are not short of board space, like on mine. I can’t find much that says “you need extra bits”. You also can get away without a repeater – more on that later, since even with the dual m.2 design you can get away without.

However yeah its mandatory to have 4-layer board. Might include via-in-pad. Expensive.

1 Like

But … you know.

This is quite the cop-out solution.


At least I went with a 10cm one with shielded differential pairs, right?

Then proceed to do absolute heinous things to it ..

Although, second thought, that’s not that bad.

But is very pain.
For once, you have to design a mounting mechanism for that free plug that’s just hanging around.
For second, the top m.2 drive is going to be in very uncomfortable position.
For third, you can’t even install this without removing the midplate and the power button plate. You have to squeeze this … thing. In between and like, get it in there. The bend is a tiny touch too tall to freely slide the expansion bay in.

But this is working? without repeater?


This is PCIe gen 3 by the way. A random HPE quad-port gig nic.
What about a m.2? Throw in a carrier as well, have a bit of signal degredation.

Also working?
That’s quite fire actually. I even threw in a PCIe to m.2 to try to degrade the signal further. Though, that crazy m.2 riser is PCIe gen 5, so maybe its basically the same.

But yeah. If this .. abomination. somehow managed to work, then my 3cm PCB will almost certainly also work. It’s probably as much trace as this has on its PCB combined. And this is 200% not a 4-layer PCB with a ground.

2 Likes

There’s already one designed. If you didn’t see the thread, I recommend checking it out. Many people with the same solution as yours, perfecting it a bit at a time.

1 Like

Yes; however note that their “Oculink on a cable extension from a m.2” is completely different from my “Oculink on a cable extension”. Mine the PCB is much wider and the holes larger. The idea is that some kind of securement need to be done.

Compared to a direct-solder PCB like this, which doesnt need anything to be done beside mounting the PCB. Although this have the potential problem of putting a lot of stress on the m.2 connector. But it (m.2 connector) being on a breakout board should make this less of a issue. I am thinking of making this a 2242 or 2230 PCB to put as much force on the m.2 screw as pissible.

4 Likes

I see, makes sense

1 Like

@Seneral you seem to be the most active developer of oculink expansion modules right now. I am having a very hard time following the 5 different threads and 3 different PCB designs floating around, so I (and probably many others) would really appreciate if you could give an update on where exactly this project is right now. Sorry to bug you specifically, I’m sure you don’t know everything but you seem to know more than most. Here’s what (I think) I know:

  1. No custom PCB expansion module is being sold/in production right now
  2. Your design is the only one that’s open source
  3. There is no 1x 8i PCB design available to buy or make yourself, only 2x 4i options exist for now
  4. Having a DP-in port is important if your data needs to come back into the laptop from the GPU. (displaying on the builtin screen, streaming to a VR headset, etc.) If no DP, then bandwidth will become more of a bottleneck.
  5. It is possible to use an adapter and one of the slots on the dual m.2 expansion bay to get a 4i oculink connection
  6. An additional part is required (graphics translator something something, can’t remember the name I know it comes from the graphics module) to make any PCB solution work
  7. Both Gu_tally and Josh Cook are currently stalled in their development process for various reasons
  8. It is unreasonable/impossible to get a 1x 8i oculink connection using the m.2 expansion board

What about this information is wrong, if any, and what am I missing entirely? Also, how can I help? I do not have a FW16 yet but I do have some experience with kicad.

Don’t use my 2x4i design - it has errors.

I am not a PCB designer, but I tried since nobody else at the time seemed to.
Then J Cook came along and insisted he’d do it properly with a redriver (which I realistically would never be able to do). He had experience designing and selling parts for the FW already - and so I dropped my work. Sadly he then disappeared after taking some peoples money.

Now we all use the Dual M.2 Bay + Adapter version. It works fine, and I am currently too busy with another, frankly more important project of mine (AsterTrack) to realistically start working on this again.

A lot of my time (most of it honestly) working on this PCB has been spend fixing multilayer stuff in KiCAD (that also turned out to be wasted since the KiCAD devs just don’t care to merge it).

After the initial 4-layer 2x4i board you mentioned, I decided to focus on a 6layer 8i board (mostly to increase the chances the signal integrity works).

Your assessment is mostly correct. Two additions:
4) The DP in is only important for using the internal screen. Streaming to a wireless VR headset or even using Link over USB is not affected in the slightest. Even more so, I’m using a RX 6950XT on 4i and play on my internal screen, and honestly, it’s fine. No hard numbers on how much performance I lost (because it’d be meaningless, I have no windows install, and linux performance numbers aren’t consistently available). But honestly I think the DP in isn’t as big of an issue. I’d still aim to include it ofc.
6) I think you mean a redriver/retimer (different things). Yes it’s required - but surprisingly, it is fine if it’s in the eGPU dock. Given the DEG1 is relatively cheap at 100€, I’m of the opinion that any PCB design should skip a redriver and retimer, and just keep the signal integrity as good as possible. Chances are, as long as you don’t make it worse than the current mess of adapters, it’ll be fine with a DEG1. If you go 8i, you might want a redriver, because afaik there’s no 8i eGPU boards with a redriver - so that will get expensive.

So yeah, sorry to dissappoint, no chance I can spend the time on this personally in the near future. I wish I could, trust me. On the other hand, I came into this with no knowledge, but was able to gain that knowledge, and so can you. Learn KiCAD, watch this wonderful video (watch others first and return to it if it’s too dense for you right now), and you should have a good chance of doing this right.
If anybody wants my custom KiCad build along with the Custom DRC rules for the PCIe+DP routing on a JLC stackup that should allow for easy routing of a 4 or 6 layer PCB, DM me. It’ll still be a ton of work.

3 Likes

I see. Well no issue, Ive actually seen your AsterTrack project before and it’s definitely been something I’ve been keeping an eye on. Please continue to work on it; I’m interested in where it goes, especially as a calibrator of sorts for SlimeVR trackers.

As for the 8i PCB, I might pick up the project in a couple months here once my plate clears a bit, as I have a few backlogged projects to work on myself. (Trying to make a system to train Project Babble compatible ML models on a per-person basis for better personal tracking.)

I am pretty insistent on getting an 8i oculink system working, as I plan on not only using a RX 9070XT as my egpu, but I will also be piping all the data back through the connection to stream VRC to my Quest 3. (As you likely know, VR headsets have quite high resolution as it’s really 2 screens in 1, and VRC itself will be pushing the GPU quite a bit too.) I’m pretty worried that a single 4i connection will be a hard bottleneck on my performance, especially because I want to future proof for a Bigscreen Beyond, but feel free to prove me wrong.

Anyway thank you for the response; I’m sure there’s others just as lost as me who will find it helpful as well, and sorry about going a bit off-topic. Have a nice night.

4 Likes

I’m super keen on getting an 8i PCB option once they’re available. I was originally awaiting Josh Cook’s board but as it has mentioned it had stalled. I already have an 8i OcuLink cable & the Graphics Interposer, but was holding off on buying the reset of the eGPU setup for my Rx 6800XT (and future upgrades), until someone gets an 8i board working.

Currently have a Razer Core X Chroma that will keep me going until the time comes.

I think you are referring to the graphics module interposer. This is needed to attach a custom board to the motherboard. It is also required when using the nvme expansion bay module.

Very nice seeing a fellow DIY VR enthusiast here:)
Yes, for wireless/USB-link high-end VR 8i will be beneficial - for BSB perhaps less so since it’s a direct connection from the GPU.
But I’m also looking towards running something akin to the BSB on my setup, so the 8i dream certainly is not dead yet for me.

I don’t want to exert any pressure here, but I believe @Gu_tally is still engaged in the project.

So in any case, OCuLink 8i is still very much alive, and it will happen.

Incidentally, I also wanted to ask the community a question: how much performance gain will I obtain through 8i versus 4i? I have seen some benchmarks with a 4090 and have also seen in other fora that it is only 5% on average? Is that correct? Would it help more with a mobile setup where you would only have the laptop screen?

1 Like

If the Display Port IN is exposed in the expansion bay module, then yes, you can directly output to the laptop screen. This is how the dGPU module works.

Valiant effort, though so far I hadnt encountered much problems.

Sounds vastly overkill. Granted you get more PCB, but the fact that the abominations we put together with the dual m.2 ones work (at all) should speak for itself.

Notably my setups do not involve repeaters. Especially if you do use repeaters, I think you can get away.

I’m also 90% sure all the PCBs involved (in dual m.2) bits are 2-layer, maximum of 3 (beside the dual m.2 carrier itself, which might be 2 or 4).

Technically it’s not. I was very surprised, as well.

correct. I bet its fairly difficult to do that, since the “mess of adapters” include 15cm+ ribbon cables / coax ribbon cables and other mess.

Right.

Each one is like $8, not the end of world, but it is a lot more circuitry.

Would be nice if you can somehow wire that to a connector. Even if the Oculink bit fails, this opens up very interesting concepts – maybe use the framework as a external display? etc, etc.
Especially since you are doing a 4/6 layer board. You have enough space for that.

1 Like