Return to

CFexpress(XQD) to Nvme M.2 PCB

Hello, After watching the recent video on the CFexpress(XQD) to NVme I did some research to see if a solution with a passive adapter to the 2230 m.2 drive from kioxia is possible.
Turns out the outline of the CFexpress(XQD) is large enought to fit the drive.
PCB layout for the CFexpress(XQD) is optained from “yifangu”
Card container could be found on rego electronics
And some low profile m.2 connectors are available from TE and amphenol with 1.8mm height.

My idea is to design a PCB and order the parts, but here’s the catch, I don’t own a XQD camera nor the 2230 drive. Printing a dummy PCB for the outline of the drive is easy enough.

I’m gonna work on it this week and hope for the best.


I own a XQD camera in the Sony PMW-EX1R with a XQD to ExpressCard adapter. I have yet to test the Kioxia with the adapter Wendell mentioned with this, but if a effort is underway to fit a M.2 2230 inside, I would love to test it and so would Wendell.

This video from many years back has me testing XQD cards on the EX1R (at that time, it was only officially sanctioned for the PMW-200)

I would highly recommend some power conditioning on the PCB as even at the lower power draw, I am concerned it will overcurrent some ports.

The BG4 SSD is also only available to OEMs and not publicly purchasable. You’re gonna have to ask @wendell for one.

Right now the problem seems to be the length of the module not the height. Still looking for other offerings for the m.2 connectors to see if it could be more compact. But please tell me if it a little bit of a stick out is OK or not (maybe a m.2 2260 or 2280 design).
@starshipeleven you asked for this tag for notifications :slight_smile:


A tiny bit is okay for XDCAM cameras as the door for those cameras is not flush with the back of the card. But for DSLRs, the spacing is VERY tight.

Apparently Kioxia also offers a “M.2 1620” package that is strictly the BGA package only. This would NOT require a interface but rather a BGA pinout to XQD.

2230 though is more common as 1620 BGA form factor is more like manufacturing a XQD card on it’s own with BGA soldering. I wonder if you could use the casing as the M.2 screwholder rather than the PCB. That could reduce height, and some thinner connectors could be possible that way.

The PCB would only be a carrier for the M.2 port, and then a ZIF connector goes to the XQD ports. You could then reposition the M.2 screw and connector freely for space. This would mean 2 PCBs: 1 for the M.2 port to ZIF, then other from ZIF to XQD.

I got a reply from amphenol with this connector which makes the thinkness problem vanish but still struggling with the length of the card itself currently it measures about 42.95 mm , which is 4.45mm stick out that I can’t seem to find a way to overcome. Once the PCB is finished I’m gonna design a case shell that would act as a heatsink and enclosure. An extension cable from the m.2 inside the card to an outside enclosure for using bigger drives is possible, but it’s already posted by yifangu on his blog.


Looking good. I’d still recommend a custom CNC case with the M.2 screwholder and a raised metal surface to bring the casing closer to the M.2 so thinner thermal pads would be needed.

I would also try to find space for small power regulation circuitry.

For XDCAM, the official use of the official XDCAM “Hard Drive” has it using a USB ExpressCard adapter and with the door open.

So after some PCI-E ID exploration, lspci lists a XQD card as a Sony SxS Plus card. So there’s a chance this adapter will NOT work with Sony professional cameras. There may need to be a PCI ID and protocol spoofer between the NVMe and the camera for Sony professional cameras like the PMW-200 and up.

This might only work with CFexpress Type B compliant cards and not OG XQD cards.

You’ll have to figure out the PCI-E protocol SxS cards use since older XQD cards are basically SxS cards. Using NVMe protocol might not work for earlier Sony cameras.

If the models detailed enough I can 3d print and test fit. It’s probably workable of it’s a few mm too long

Should you run in to power issues, you should be able to change the power management settings of the drive.

It seems to go down to 2.10W (from the default 3.40W) while remaining operational (but of course with some performance loss).

$ sudo nvme id-ctrl /dev/nvme0
ps    0 : mp:3.40W operational enlat:1 exlat:1 rrt:0 rrl:0
      rwt:0 rwl:0 idle_power:- active_power:-
ps    1 : mp:2.50W operational enlat:1 exlat:1 rrt:1 rrl:1
      rwt:1 rwl:1 idle_power:- active_power:-
ps    2 : mp:2.10W operational enlat:1 exlat:1 rrt:2 rrl:2
      rwt:2 rwl:2 idle_power:- active_power:-
ps    3 : mp:0.0500W non-operational enlat:800 exlat:1200 rrt:3 rrl:3
      rwt:3 rwl:3 idle_power:- active_power:-
ps    4 : mp:0.0050W non-operational enlat:3000 exlat:32000 rrt:4 rrl:4
      rwt:4 rwl:4 idle_power:- active_power:-

I say should because the normal power state is not settable, at least not persistently.
(sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s)
Since the BG4 uses APST (Autonomous Power State Transitions), you would have to mess with the APST table.
(sudo nvme get-feature /dev/nvme0 -f 12 -H)
…but i have no idea how to do that :slight_smile:

This topic was automatically closed 273 days after the last reply. New replies are no longer allowed.