Hi everyone, I’ve got the Arducam 8.3MP Sony STARVIS 2 IMX585 USB3.0 Ultra Low Light Camera Module and I’m trying to figure out if RAW10 output is supported on this thing.
Specifically, I need to know:
How to activate RAW10 output — is there a firmware update required, or some configuration setting I’m missing?
Where can I get the latest Arducam USB Camera SDK that’s compatible with the IMX585? A direct download link would be really appreciated.
Any special dependencies or installation steps for Windows vs. Linux?
What Viewer or SDK settings do I need to switch the output format to RAW10?
Does anyone have Python or C++ code snippets (OpenCV or SDK-based) that show how to capture and save RAW10 frames?
And finally — what’s the RAW10 data format look like? Bayer pattern, bit-packing method, stride, endianness — the whole picture.
I’ve been digging through docs but I can’t find anything conclusive. Any help would be awesome.
Good questions. Let me look into this properly for you.
First thing I want to check — I need to confirm whether this specific module exposes any vendor-specific raw modes or if it’s strictly behaving as a UVC device. The IMX585 sensor itself is certainly capable of RAW10 at the silicon level, but that doesn’t mean the USB bridge firmware on the camera module surfaces it. Let me verify with the engineering specs and I’ll get back to you.
Thanks, appreciate you checking. Yeah that’s exactly what I’m worried about — the sensor can do it, but maybe the USB bridge is just converting everything to processed formats before it even hits the host. Fingers crossed there’s a firmware toggle or something.
Alright, so I’ve confirmed unfortunately what you suspected. The Arducam 8.3MP IMX585 USB3.0 camera module is a UVC (USB Video Class) compliant device — it follows the standard USB video protocol and does not expose any vendor-specific raw output modes.
What this means in practice: at the hardware/firmware level, the onboard ISP/bridge chip takes the raw sensor data and processes it into standard UVC formats (YUYV, MJPEG, etc.) before sending it over USB. RAW10 from the IMX585 sensor simply isn’t routed through to the host — there’s no firmware toggle, hidden register, or configuration switch that can surface it. The data path doesn’t exist.
So to address your specific points:
No firmware update can add RAW10 — it’s not a missing feature, it’s how the pipeline is architected.
The SDK and Viewer won’t expose a RAW10 option because the UVC descriptor doesn’t advertise one.
Bayer pattern, bit-packing, stride, endianness — these are moot since the raw frames never leave the module.
Well, that’s disappointing but I appreciate the straight answer. So just to be absolutely clear — there’s no workaround at all? No low-level USB control transfers, no undocumented extension unit, nothing? I’ve seen some UVC cameras that hide raw modes behind vendor-specific interfaces…
Totally understand the disappointment, and I’ve seen those edge cases too — some UVC chipsets do expose proprietary extensions. But I’ve confirmed with the hardware team that this particular module doesn’t. The USB bridge implementation on this camera is a straightforward UVC design: sensor → ISP processing → standard format encoding → USB. RAW10 data is consumed internally by the ISP and never made available to the host interface. There’s nothing to unlock.
For standard video capture with this module, your best path is plain OpenCV — since it’s UVC-compliant, VideoCapture will work out of the box on both Windows and Linux:
import cv2
cap = cv2.VideoCapture(0) # or your device index
cap.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter_fourcc(*'MJPG'))
ret, frame = cap.read()
# frame will be a standard processed image (BGR after imshow, etc.)
Thanks for confirming. So if I really need raw sensor data — Bayer-pattern RAW10 direct from the IMX585 — this USB module is a dead end and I need to look elsewhere?
Exactly right. If RAW10 sensor data is a hard requirement for your application, you’ll need to move away from this UVC USB module entirely and look at evaluation kits that give you direct access to the sensor’s raw output — typically through MIPI CSI with a compatible adapter board rather than a UVC USB bridge.
I’ve sent you a link via private message to the relevant evaluation kit listings. These boards expose the raw sensor interface directly and come with the SDK tooling to configure and capture RAW10 frames, including the Bayer pattern, bit-packing details, and all the low-level format info you were asking about originally.
To summarize the conclusion on this thread: the Arducam 8.3MP IMX585 USB3.0 camera module is a UVC-compliant device that outputs only standard processed video formats. RAW10 sensor data is fundamentally unavailable through this hardware — no firmware, SDK, or configuration setting can change that. For raw imaging with this sensor, a dedicated evaluation kit with direct MIPI/parallel access is the correct path.