Hi all, I’m stuck with my Arducam 108MP Motorized Focus USB 3.0 Camera Module. The firmware update worked fine on my first computer, but after I switched to another machine and re-ran the firmware update, the camera stopped working properly everywhere. Now it only reports a basic 1280x720 resolution no matter what I try. Anyone else run into this?
That definitely sounds like the camera fell back to a basic mode. To narrow it down, can you tell me what OS you’re testing on and which demo script you’re using?
I’m using the ArducamUVCPythonDemo with arducam_demo.py. On Windows it’s under C:\Users<user>\ArducamUVCPythonDemo and on Linux it’s ~/ArducamUVCPythonDemo. I’ve tested on both Windows and Linux and the resolution issue shows up on both.
Thanks. Could you run these three and paste the output? First the 1280x720 run with the tuning file, then a 4000x3000 capture, then a format listing:
cd ArducamUVCPythonDemo
python arducam_demo.py -W 1280 -H 720 --ccm --tuning-file arducam_108mp.json -F --wait-frames 5
python arducam_demo.py -W 4000 -H 3000 -F
v4l2-ctl --list-formats-ext
Here’s what I got. The 1280x720 run just prints:
width: 1280 height: 720 fps: 1
wait 1 / wait 2 / wait 3 / wait 4 / wait 5
Then the 4000x3000 run fails with:
Traceback (most recent call last):
File "C:\Users\...\ArducamUVCPythonDemo\arducam_demo.py", line 115, in <module>
frame = arducam108mp_isp(frame.reshape(9000, 12000), ccm, ccm_list)
ValueError: cannot reshape array of size 1843200 into shape (9000,12000)
That traceback is very telling. 1843200 is exactly 1280 × 720 × 2 bytes, so the camera is still handing you a 1280x720 YUYV frame even though you asked for 4000x3000. The script then tries to reshape that buffer as if it were 9000x12000 and dies. Can you also paste the output of v4l2-ctl --list-formats-ext?
Sure, here it is:
ioctl: VIDIOC_ENUM_FMT
Type: Video Capture
[0]: 'YUYV' (YUYV 4:2:2)
Size: Discrete 1280x720
Interval: Discrete 0.100s (10.000 fps)
That’s the only entry it lists.
Thanks, that confirms it. The camera is only advertising a single mode — 1280x720 YUYV at 10 fps — which is why every other resolution fails. What have you already tried in terms of firmware updates and docs?
I followed the Arducam firmware update guide video (https://drive.google.com/file/d/1sc458vBABLdgvBjp5mzAuTVBQ1c4Mhx_/view?usp=sharing) and the Linux Quick Start guide (Quick Start Guide on Linux - Arducam Wiki). I tested on both Windows and Linux, and tried 1280x720 and 4000x3000, but the result is the same on every computer.
Based on everything here, the root cause is an outdated camera firmware that only exposes the basic 1280x720 YUYV mode and blocks higher resolutions. The fix is to update the camera module firmware to the recently released version — that restores full resolution support. Follow the firmware update guide video you linked (https://drive.google.com/file/d/1sc458vBABLdgvBjp5mzAuTVBQ1c4Mhx_/view?usp=sharing) and make sure the camera firmware actually gets flashed. Key point: the Linux Quick Start guide alone doesn’t update the firmware, which is why you were still stuck at 1280x720 after following it. Once the firmware is updated, 4000x3000 and the other modes should show up in v4l2-ctl --list-formats-ext.