AUP-ZU3 Pcam 5C read frame stuck

Board: AUP-ZU3 (8GB)

PYNQ Version: 3.1

Issue:

readframe() hangs indefinitely when trying to capture frames from a Pcam 5C (OV5640) camera using the base overlay’s MIPI pipeline. The call never returns and no frames are captured.

Steps to Reproduce:

Start with a clean PYNQ image for the ZU3 board.

Boot the board and connect to the Jupyter notebook through your web browser.

In the notebook, navigate to /base/video/mipi_to_displayport.ipynb

Run Cells 1-4. The 4th cell runs indefinitely without returning anything.

frame = mipi.readframe()
PIL.Image.fromarray(frame[:,:,[2,1,0]])

Debugging Steps Taken:

The issue appears to be similar to the one presented here, but unlike this issue, I was able to see camera responding whether I ran mipi = base.mipi or not.

Output from running i2cdetect -y 3:

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         

From this, I gather that the camera is powered on and there is some communication between it and the board, but I haven’t been able to stream any frames.

I have also been looking through the post found here. However, the fixes appear to be specific to the KV260 board.

What are some steps I can take to more concretely find the source of the issue? I haven’t found similar issued reported specific to the AUP-ZU3 board, has anyone else seen this type of issue?

Hi @Preston-Walker,

Welcome to the PYNQ community.

We have found that those cameras are very fragile. The I2C has a different path than the data.
So, if possible can you try a different ribbon cable or camera?

The MIPI subsystem in the Kria is the same as in the AUP-ZU3, so you can try the fix proposed in the other blog.

Mario

Thanks for the quick response!

The camera is brand new, so I would hope it isn’t already broken. I tried swapping the ribbon cable and didn’t see any differences. I don’t have another camera available, have you found them to be so fragile that I should consider a replacement even with this one coming right out of the box?

As far as the solution from the Kria blog, I see this reply as the “solution“ with two jupyter notebooks and the bit/hwh files. I assume that the bit and hwh files are specific to the board and will need to be rebuilt, while the ipynb files should be fine on the AUP-ZU3. Does that sound correct?

Preston

The camera is brand new, so I would hope it isn’t already broken. I tried swapping the ribbon cable and didn’t see any differences. I don’t have another camera available, have you found them to be so fragile that I should consider a replacement even with this one coming right out of the box?

I haven’t found them very reliable, or may be an signal integrity issue. Never got to the bottom of it.

As far as the solution from the Kria blog, I see this reply as the “solution“ with two jupyter notebooks and the bit/hwh files. I assume that the bit and hwh files are specific to the board and will need to be rebuilt, while the ipynb files should be fine on the AUP-ZU3. Does that sound correct?

Correct.