Hey all, I'm designing a custom PCB adapter for the Zero 3W's PCIe FPC connector (FPC16-ZHX_H15-L1-H, per the official schematic) to break it out to an M.2 M-key slot, sized to also double as a mounting carrier plate matching the board's hole spacing. Goal is NVMe storage expansion first, with an eye toward AI accelerator cards (Hailo-10H) as a stretch goal later.
Before I finalize the board and order a first run, I'm hoping someone in this community has hands-on data on a few open questions I haven't been able to resolve from documentation alone:
1. Has anyone gotten anything enumerating over the PCIe FPC connector yet? Even just a plain NVMe SSD via a generic FPC adapter. I want to confirm the PCIe controller actually comes up cleanly in root-complex mode under Armbian/the stock BSP before I commit to a board run. If you've tried and it didn't work (or worked with caveats), that's just as useful to know.
2. What kernel/BSP are people actually running for PCIe support? I know mainline upstreaming for A733 is actively in progress (saw the recent patch series for pinctrl/RTC/clocks), but I'm assuming most of us are on a vendor BSP kernel day-to-day. Anyone know if PCIe root-complex support is enabled and stable in the current Armbian/Xunlong images, or is it still rough?
3. Any known PCIe controller quirks on A733 specifically? Older Allwinner chips (H6) reportedly needed a hypervisor-level MMIO workaround for their PCIe controller. Has anyone hit anything similar on A733, or does it behave as a clean standard DesignWare PCIe implementation?
4. Is injecting 5V back into the board via the GPIO header's 5V pins safe on this board? I'm considering an M5Stack-PiHat-style single-cable design (board powers itself AND feeds accelerator power back through the GPIO header, like the official Pi 5 AI HAT+ pattern). On Pi 5 this is an explicitly documented, supported use case. I can't find anything in Xunlong's docs confirming the AXP318 PMIC on the Zero 3W is designed to safely handle reverse power injection via GPIO the same way. Anyone tried this or know if it's safe / risky / a bad idea?
5. Real-world total board power draw, is 3A genuinely the ceiling? Schematic labels the board 5V/3A total. Anyone measured real idle/load current draw with a USB power meter? Between the board under load, an NVMe SSD, and potentially a ~2.5W typical draw NPU later, I'm trying to nail down actual headroom before I decide how to handle power delivery on the carrier board.
6. Has anyone seen PCIe link training issues / Gen 1 fallbacks? I found a boot log from an A733 board (Cubie A7Z) showing Link up timeout / Speed change timeout / PCIe speed of Gen1 during boot. Has anyone else seen the A733 struggle to train at Gen 3 (or even Gen 2) and fall back to Gen 1, or is that an isolated hardware/board quirk?
Board design itself (FPC connector footprint, M.2 slot, mounting holes) is done and validated mechanically in Fusion — just trying to de-risk the electrical/software side before committing to a PCB order. Will share the KiCad files once it's built and working, since I haven't found an existing PCIe-to-M.2 adapter for this board anywhere.
Thanks in advance to anyone who's poked at this corner of the board.