neggles / cfxsx

CFexpress to M.2 NVMe drive adapter. Intended for Xbox Series X and S, but untested.
https://neg2led.github.io/cfxsx/
Creative Commons Attribution Share Alike 4.0 International
63 stars 11 forks source link

I have made the PCB on JLCPCB. If this works, I will inform you at once. #2

Open Bob-Eric opened 3 years ago

Yeah2333 commented 3 years ago

I have test it with the ssd ch sn530, it was work

Bob-Eric commented 3 years ago

I have test it with the ssd ch sn530, it was work

But how thick is your PCB? I have made a 0.8mm thick and a 1.6mm thick pcb. I don' t know which one can be inserted into xbox better.

Yeah2333 commented 3 years ago

I just give the gerber file to the pcb manufacturer, and set four-layer.

neggles commented 3 years ago

Awesome! @Yeah2333 thanks for confirming it works for you 😄

I also just submitted an order for some of these from JLCPCB, I expect it'll work just fine, there's not a lot going on here.

@Bob-Eric this is designed for 1.6mm thickness, the contact area of a CFExpress card is 1.6mm thick. When ordering from JLCPCB you should set it to Impedance Controlled and "JLC2313" stackup, but the traces are very short, so it probably doesn't matter much.

luoluomeng commented 3 years ago

I ordered few boards from JLPCB but it does not work. @Yeah2333 Do you have any idea of how to make it work?

Bob-Eric commented 3 years ago

I ordered few boards from JLPCB but it does not work. @Yeah2333 Do you have any idea of how to make it work?

I have made the board, but the m.2 slot can’t be welded

luoluomeng commented 3 years ago

I ordered few boards from JLPCB but it does not work. @Yeah2333 Do you have any idea of how to make it work?

I have made the board, but the m.2 slot can’t be welded

I welded it with my heat platform like this: image I tested the connections and it looks fine. But it does not work, I also noticed that the 3v power is available after I connected it to the XBOX, but the SSD is still cold like it totally does not work at all.

luoluomeng commented 3 years ago

Finally made this work. The reason is the 1.8mm board from JLC is not thick enough for the contact, after simply pasting some sticky tape on the back, it works perfectly.

neggles commented 2 years ago

Awesome! My boards have shown up, but my miniware hotplate is broken at the moment so I've not been able to solder one together yet 😢 my attempts with a hot air gun did not go well...

I suspected it might be a little too thin - the real CFExpress card is ~1.65mm thick in that area, and JLC's 1.6mm boards are actually slightly less than 1.6mm thick - but if a piece of tape is enough to make it work, that's fine by me!

I'll try to update the README.md with this info when I have the chance - thanks again @luoluomeng!

luoluomeng commented 2 years ago

Awesome! My boards have shown up, but my miniware hotplate is broken at the moment so I've not been able to solder one together yet 😢 my attempts with a hot air gun did not go well...

I suspected it might be a little too thin - the real CFExpress card is ~1.65mm thick in that area, and JLC's 1.6mm boards are actually slightly less than 1.6mm thick - but if a piece of tape is enough to make it work, that's fine by me!

I'll try to update the README.md with this info when I have the chance - thanks again @luoluomeng!

No problem at all! Based on my test, it may require 2.1mm+ thickness. I guess maybe becaues the CFExpress has a shell?

neggles commented 2 years ago

Ah, yes, you're right - I remembered the numbers wrong 😖 I've just checked the specification sheet I have from Delkin and the contact side is 2.1mm to the contact area:

image

I don't know if there are any places that make 2.1mm thick 4-layer PCBs for reasonable prices, but it would be pretty easy to make a 0.5mm thick shim/spacer and glue it on - cut it out of some plastic packaging, or even 3D print one if you want to be fancy.

Cool... a few more notes for me to add when I have the time, then :)

EnumC commented 2 years ago

I can whip out a CAD model for some sort of enclosure when I have free time. Got a CH SN530 on my side, and I'm going to create a derivative that doesn't contain any screw holes with the minimum form factor in order to decrease cost for fabbing at oshpark. Will let y'all know when I get those ready :)

Capture

If anyone is in the U.S and would like to test the board as well, PM me. I have 2 extras I can share.

EnumC commented 2 years ago

Finally made this work. The reason is the 1.8mm board from JLC is not thick enough for the contact, after simply pasting some sticky tape on the back, it works perfectly.

Did you format the SSD in any special way? I added some padding to extend the contact thickness to around 2.16mm, formatted the CH SN530 to GPT & created one NTFS partition named "XBOX". However, the xbox doesn't seem to detect it at all. No messages, no "incompatible" errors.

luoluomeng commented 2 years ago

I guess the contact is still not solid enough. And be careful to increase the thickness, it may break the fins in the slot if the PCB is too thick.

EnumC commented 2 years ago

I guess the contact is still not solid enough. And be careful to increase the thickness, it may break the fins in the slot if the PCB is too thick.

This was the issue. I checked continuity for all the connected pins and a pin was disconnected. One thing to note: It seems that the official adapter also has a vertical spacing of around 5mm between the contacts and the bottom of the cfexpress slot. If I installed the PCB too deep into the slot, then it is not detected. Not sure if that's due to my shoddy construction or it's actually not making contact with the connector pins inside the slot. I'll retest after I cad something.

neggles commented 2 years ago

@EnumC Hmm, based on this teardown pic (via https://toptech.news/xbox-series-x-seagate-expansion-card-teardown/ ), there shouldn't be a gap - the recessed section of the casing on the left goes above the contacts:

image

that said, I might've gone a bit too deep with the slots on the PCB - I overestimated size/depth since that's easier to handle, and probably underestimated on width. This could definitely use some sort of probably-3d-printed case/shell for alignment purposes.

From that pic it actually looks like the slots aren't necessary at all, so I might remove those. It'd make the routing of a couple traces much less annoying, as well