Using RaspiCam HQ board pads and Arducam B0278 USB simultaneously with Python?

I’m trying to figure out if I can use the interface pads on the RaspiCam HQ board — specifically the XVS pad — at the same time as the USB connection on the Arducam B0278 CSI-USB UVC Camera Adapter Board.

My setup:

  • Arducam B0278 CSI-USB UVC Camera Adapter Board
  • Raspberry Pi HQ Camera (IMX477)

I’ve attached a photo of the HQ camera board with the interface pads I’m talking about (the XVS area is marked in red). Ideally I’d like to access or control these pads via some Python-based approach while the camera is streaming over USB.

Has anyone tried this? Is it even feasible to use those pads and the USB adapter simultaneously?

Interesting question. So just to make sure I follow — you’ve got the B0278 UVC adapter driving the HQ camera over USB, and you want to simultaneously interact with the XVS (and potentially other) interface pads directly on the HQ camera board itself.

This specific combination hasn’t been validated or tested internally by us. The B0278 adapter board takes over quite a bit of the low-level control — initialization, clocking, all of that. So before I can really say whether this could work, I’d want to understand what exactly you’re trying to do:

  • Are you looking to feed an external hardware trigger signal into the camera via XVS?
  • Or are you trying to read the strobe/sync signal out to another device?

The answer changes the risk profile here quite a bit. Either way, there’s a real concern about signal conflicts since the USB adapter is actively managing the sensor.

Thanks for the quick reply. My use case is the first one — I want to use XVS as an external trigger input. Basically I have some external hardware that fires a trigger signal, and I need the HQ camera’s exposure to sync with that, all while the camera is streaming frames back to a PC over USB.

I was hoping there’d be some Python way to configure or at least not interfere with the XVS pin state while the B0278 is active. Maybe through some UVC extension or something? Not super familiar with how the adapter handles the sensor at that level.

Right, that makes sense — and unfortunately this is where it gets tricky.

The B0278 UVC adapter handles the camera’s initialization and clocking completely. It’s not just passively passing through CSI data; it’s actively managing the sensor. The XVS pin is part of the sensor’s physical control interface, and the adapter is already driving those signals as part of normal operation.

If you try to inject an external trigger on XVS while the adapter is controlling the sensor, you’re likely to run into signal conflicts. Best case, the trigger gets ignored entirely. Worst case, you destabilize the sensor’s timing and the USB stream glitches or drops.

This combination is untested on our side — we’ve never validated external access to those interface pads while the B0278 is actively streaming. There’s no Python API or UVC extension that exposes XVS control either, since the adapter abstracts all of that away from the host.

If you can share a bit more about your application — what’s generating the trigger, what kind of timing precision you need — that would help me think through whether there’s an alternative approach here. But as it stands, I can’t confirm this will work, and the risk of signal interference is non-trivial.