Arducam B016712MP zoomed/unzoomed images not concentric over 200 px at 2048x1536 on Pi 4

Hi, I’m using an Arducam B016712MP PTZ camera on a Raspberry Pi 4 with Raspbian 12 bookworm. The zoom is behaving oddly - when I zoom in, the image shifts to a different spot, and the zoomed and unzoomed frames aren’t concentric. At 2048x1536 I’m seeing more than 200 pixels of deviation, which makes it pretty unusable. It’s intermittent too. I haven’t tried anything yet. I can send a video if that would help.

Thanks for the details. Could you share that video? A clip showing the shift while zooming would be really useful to see what’s happening.

Here’s a bit more about my setup: Raspberry Pi 4 running Raspbian 12 bookworm, camera is the B016712MP. I haven’t attempted any fixes yet. I also posted on the Arducam forum with more details: Arducam B016712MP. The offset is definitely more than 200 pixels at 2048x1536.

Are you using the official demo program from GitHub? I don’t think you’re running our demo, so it’s hard to give precise advice. Can you try the program below and let me know the result? PTZ-Camera-Controller/B016712MP at master · ArduCAM/PTZ-Camera-Controller · GitHub. I also saw your forum thread and the extra details there.

I am actually using the Arducam PTZ-Camera-Controller program already - I posted the focus and zoom variable values I’m using on the forum thread. The problem looks like a mechanical misalignment when zooming. Could you clarify what the program has to do with mechanical misalignment? The image physically shifts as it zooms.

Did you run AutofocusTableExample.py? We definitely aligned the camera when we released that new function, so I’d like to verify with that example specifically. It’s in the same repo: PTZ-Camera-Controller/B016712MP at master · ArduCAM/PTZ-Camera-Controller · GitHub

I’ve tried it and the same problem happens. I get more than 100 pixels of misalignment no matter how the camera is running, so it doesn’t look like it’s caused by the script or the demo program. The shift is there in all conditions.

Thanks for confirming. Since the misalignment shows up regardless of the script and even with AutofocusTableExample.py, that rules out the software side. This points to a mechanical/optical alignment issue in the camera module. That’s not something the demo program can fix. Let me check with the hardware team on this and I’ll follow up here.