Arducam 64MP Hawkeye on Raspberry Pi 4B: blurry edges and unstable operation in greenhouse

Hi everyone, hoping someone can help me figure out if this is expected behavior or if I have a bad unit. I’m using an Arducam 64MP Hawkeye on a Raspberry Pi 4B for some turf research. The setup is a stationary camera in a greenhouse with plenty of light. I’ve been following this guide: https://levelup.gitconnected.com/arducam-hawk-eye-64mp-camera-module-for-the-raspberry-pi-4f451b95ed11

The depth of field seems really narrow. The center of the image is in focus but the edges are blurry, even on parts that are on the same plane. The white rims of some cups in the bottom right corner come out blurry. Overall the image resolution just looks lower than I’d expect from a 64MP module. It also works intermittently and feels a bit unstable.

Is this a limitation of the camera, a broken unit, or just the software not being there yet?

Thanks for posting. Before we dig into the focus behavior, can you share how you’re actually capturing and saving the images? The command matters here - if the still isn’t being saved at the sensor’s full resolution, you’ll lose a lot of perceived sharpness regardless of focus.

I’ve already tried moving the camera to different heights and playing with how long autofocus runs. I even propped a piece of cardboard in the frame to try to keep the autofocus from hunting. I also wondered if a faster shutter speed would help, and whether the case is touching the camera cover. None of that changed the depth of field - the center stays sharp and the edges stay soft.

That actually lines up with what we know about this module. The autofocus algorithm is center-weighted, so it locks focus in the middle of the frame and the edges end up soft even when they’re on the same plane. There isn’t a software fix we can offer for that behavior right now - it’s a limitation of the current autofocus implementation.

The other thing to check is the capture resolution. If you aren’t saving at full res, the overall quality will look worse than the module can do. Full resolution is 9152 x 6944.

I’m honestly not sure if I’ve been saving at full resolution. What’s the right way to capture it so I get the full 9152 x 6944?

First, update the config file as shown in the screenshot below, then capture with this exact command:

libcamera-still -t 10000 --width 9152 --height 6944 -o -n 64mp.jpg

image_1907989292(03-07-18-22-21).png

That forces a full-resolution still and should improve the perceived quality.

To summarize where things stand: the edge blur / narrow depth of field comes from the center-focus autofocus algorithm, and we can’t resolve that through software at this time. Widening the depth of field would require a hardware change to a smaller aperture. Give the full-res capture a try and let us know how it compares.