I purchased the AR2020 Monochrome USB/UVC camera (product B0511, order #105672) for a Super 8 scanner project. Running on Windows. I’m running into two issues: First, the camera was detected as USB 2.0 at first and resolution was locked to 1280x960 — I solved that by buying a new USB cable, so it’s detected as USB 3.0 now. But the bigger problem is that I can only get YUYV output at 1280x960 even though this camera should do 5120x3840. I’ve tried PotPlayer, VLC, and FFmpeg — all show only 1280x960 as available. I also can’t find the config file for the Arducam SDK to set the native resolution. Does the UVC output only support 8-bit? I need higher bit depth for scanning film, so if there’s any way to get raw 10/12-bit data out of this camera please let me know.
Thanks for reaching out and for the detailed description of your setup. Let me clarify a few things. When you say only 1280x960 is available — is that the only resolution showing up in the device’s format list across all those apps? And just to confirm, after swapping the USB cable, does the camera show up as “USB 3.0” in Device Manager under Universal Serial Bus controllers? Also, when you mentioned looking for a config file for the SDK — could you point me to exactly which SDK you’re trying to use? The Arducam SDK typically uses a .cfg or .json file for sensor configuration. I want to make sure we’re on the same page before I dive into the bit depth question.
Yes, 1280x960 is the ONLY resolution available in every app I tried — PotPlayer, VLC, FFmpeg, even the camera’s own DirectShow filter properties. No option for 5120x3840 anywhere in the dropdown. The camera does show as USB 3.0 in Device Manager now after the cable swap, so that part is fine. As for the SDK, I downloaded the Arducam SDK for Windows and was looking for a config file to set the resolution manually, but I couldn’t find one that lets me change it. I actually asked some AI bots about this and they told me to contact you directly. So here I am. The main thing I need to know — the UVC output is showing YUYV only, and from what I can tell that’s an 8-bit format. Is there any way to get 10-bit or 12-bit out of this camera through UVC? For film scanning, that extra dynamic range really matters.
I understand the frustration, and I appreciate you doing all that legwork beforehand. Let me be straightforward with what I’ve found after looking into this:
The AR2020 USB/UVC camera is strictly limited to YUYV output over UVC. The onboard ISP (Image Signal Processor) handles the debayering and compression of the sensor’s raw data, and it outputs standard 8-bit YUYV for UVC compatibility. This means the sensor’s native 10-bit or 12-bit dynamic range is processed down to 8 bits before it ever gets transmitted over USB.
There is no firmware or hardware path to bypass this limitation — it’s baked into the design of the USB/UVC version of this camera. So to answer your question directly: no, there is no way to get greater than 8-bit depth from this specific camera model in its current configuration.
Before I wrap up — have you considered any alternative approaches for your scanning project, or are you hoping there might be some kind of firmware update workaround?
That’s disappointing but I figured that might be the case. Is there really no workaround at all? Maybe some kind of RAW capture mode or a different driver or firmware? I was really hoping to get more dynamic range out of this sensor since the AR2020 is a capable sensor on paper.
I completely understand the disappointment, and you’re right — the AR2020 sensor itself is indeed capable of higher bit depth. But unfortunately, the USB/UVC variant has the ISP in the loop, and there’s no firmware update or driver hack that can bypass that hardware pipeline. The ISP compresses everything to 8-bit YUYV before it hits the USB bus. It’s a fundamental design constraint of this product line.
Here’s what I’d recommend if you need that dynamic range:
Solution: If higher bit depth is critical for your Super 8 scanning project, you’d need to switch to a MIPI CSI camera module instead of the USB/UVC version. With a MIPI interface, the host processor (like a Raspberry Pi or Jetson Nano) can access the sensor’s raw output directly, giving you the full 10/12-bit RAW dynamic range. The UVC version sacrifices that raw access for plug-and-play convenience.
It’s not the answer you were hoping for, but I wanted to give you a clear picture so you can make an informed decision about your project.
Alright, that makes sense. I appreciate the honest explanation. I’ll try to work around the 8-bit limitation by using multiple exposures and stacking them for the Super 8 scanning — that should help recover some of the dynamic range I’m losing. And I’ll keep the MIPI CSI option in mind if I need to upgrade down the line. Thanks for your help!