Raspberry Pi HQ Camera in Jetson Xavier NX

I don’t usually do this since I don’t like to encourage distributing third party SD Card images, but for testing purposes, if anybody is interested, here are some SD Card images for NX and Nano with RidgeRun’s patches applied.

You will still need either a modified HQ camera or one from Arducam designed spefically for use with Nano. I haven’t had much time to test recently, so please report any issues you find that don’t exist JetPack 4.4 (for example, missing packages or added packages).

3 Likes

Thanks for the images, they really helped me check that the IMX477 camera is working with my system - it looks like the latest update stopped the pre-compiled deb packages from working. Your image let me check that it was definitely a software problem!

Glad it helped @brian.patton !

LMK if you find any issues.

So far so good. The camera_overrides.isp needs to be installed to get a proper colour balance, but since people might be using multiple cameras, I think it makes sense that you haven’t done it by default. Perhaps a line in the webpage after the “you might need to install Jetpack” one would help?The instructions are here.

Thanks again!

Sorry for my impatience - is there already some progress on the “long term solution”?

Hi Helge, NVIDIA is working on it and you should be having official news before the end of the year.

-David

Hi helge ,
I also have the same sensor as yours, I would like to use it on the jetson, I’m interested, how do you process the 100 shots? would you show me a guide? I’m a beginner with work on Jetson :), let’s hope you can use long exposure times like on raspistill, for new year :)

Tk Matteo

Hi Matteo,
you can capture a video stream using OpenCV with a command like
cap = cv2.VideoCapture(“nvarguscamerasrc sensor-id=0 wbmode=1 ! video/x-raw(memory:NVMM), width=4032, height=3040,framerate=30/1,format=(string)NV12 ! nvvidconv flip-method=2 ! video/x-raw, width=4032, height=3040, format=(string)BGRx ! videoconvert ! video/x-raw, format=(string)BGR ! appsink”, cv2.CAP_GSTREAMER)

From this stream you pick frames with cap.read(). Now you either can go through each frame and summarize each of the R, G, B components of each pixel and divide the result through the number of frames.
A more elegant way is to convert the frame to a numpy array with np.asfarray(frame). These arrays can be summed up with just one single command like sum = sum + np.asfarray(frame). As these are floats, at the end it muss be adjusted with sum = sum / (255 * 100) in case of 100 frames.

@DavidSoto-RidgeRun: As we have year end now (almost), are there any news regarding the long term solution?

Hi Helge,

NVIDIA now supports the driver and releases the driver for Nano 2G, I think it will be included in the next Jetpack.

-David

Thanks a lot, I’m new to OpenCV, I know FFmpeg well. I’m trying to get closer to the world of video analysis, I have a project in mind that I would like to create with nividia GPU, I will publish a dedicated post, I hope to find help to make it happen. I apologize for my school English :), I’m Italian

Hi all,

Before some days I bought the nvidia jetson xavier nx and the raspberry Pi HQ camera. I tried to set the camera by following the steps ( OPTION A: Installing the kernel and dtb debians (Recommended)) of:
GitHub - RidgeRun/NVIDIA-Jetson-IMX477-RPIV3: NVIDIA Jetson IMX477 HQ RPI V3 camera driver.
When boot the platform it appears me ‘kernel modules could not be started’.

Then I checked my systems characteristics (see attachment)

and the kernel as I understood does not match with this given on the above link.
I tried to understand where is the problem but can not find a solution on this problem and use the camera.
A the end, I have flashed the platform with latest version of jetpack by using an sd card.

I am not familiar with Jetson xavier nx and maybe my explanation is so simple but I am trying to understand and solve that issue.

Thanks for the consideration,

Hi everyone,

I’m happy to announce that the IMX477 driver porting for Jetpack 4.4.1 is ready for you all to give it a try. You can check it out in our Github repo:

https://github.com/RidgeRun/NVIDIA-Jetson-IMX477-RPIV3

The patches and the debian packages were updated. Don’t hesitate to let us know in case you find any issue.

Regards,
Carlos R

Hi everyone,

Support for the new Jetpack 4.5 is now available in our github repo: https://github.com/RidgeRun/NVIDIA-Jetson-IMX477-RPIV3

Please test and let us know how it goes.

Regards,
Carlos R

I can confirm that the HQ camera (with R8 mod) is suppported now after upgrading to Jetpack 4.5.

Thanks for your good work!

I am having issues with JP4.5 on a Jetson Nano B01.
I have tried installing the driver with option A.



I
I have removed the R8 resistor and gotten the camera to run with a preconfigured image, so I know it is not a hardware issue.
After reading around on the forums I did see there was a folder naming issue for the patch method that I suspect I may be having issues with as well.
In my /lib/modules/ directory I have two directories “4.9.201” and “4.9.201-tegra”

When I run apt-get install of the nvidia-l4t-kernel_4.9.201-tegra-32.5.0-20210115145440_arm64.deb file I get an error that a few files can not be located in “4.9.201-tegra”. Looking around in the directories has shown me that these files are in the “4.9.201” directory. I have tried moving files around, but have not had any luck fixing the issue.
How can I resolve this folder naming issue which seems to be similar to this post:

I am still new to this system and have to ask a question that may be obvious. How do I rename the directory to the name of an already exiting directory? I have tried this an ended up placing the directory 4.9.201-tegra directory inside the 4.9.201 directory. I have also tried copying all the files from the “4.9.201-tegra” directory into “4.9.201” using cp * . * , but this caused boot issues. I fear that I have damaged the camera ports as reverting to my old image preflashed with the IMX477 driver no longer brings up my camera. Any direction I can get is greatly appreciated. Right now I am struggling to acquire enough knowledge to know how to trouble shoot this linux system, where I would feel more at home with a microcontroller IDE, oscilloscope and multimeter. Thank you.

I too am having issues. @ CarlosR92 when I use RidgeRun drivers with Xavier NX and 4.5 it gets stuck on the nvidia logo at boot.

Sorry I don’t have more info because the big nvidia logo is blocking any useful debug info (ugh). LMK if there is something useful I can provide. It would be great if this could be fixed ASAP …

1 Like

Hi wuxiekeji,
Can you double check if the /boot/extlinux/extlinux.conf file has the correct FDT: /boot/tegra194-p3668-all-p3509-0000.dtb, please note that for the xavier-nx FDT is tegra194.
Also which method did you used for the installation?