Arducam AR0234 global shutter camera Jetson Orin Nano 8GB JetPack 6.1 driver and quad setup?

Hi everyone, I’m evaluating the Arducam 2.3MP AR0234 Global Shutter Camera for a Jetson project and I’ve got a few questions before I go ahead:

  1. Can the AR0234 FHD Global Shutter camera be used with a Jetson Orin Nano 8GB?
  2. Is there a driver release for JetPack 6.1?
  3. Can these cameras be used with a camera HAT and have the streams from each individual camera processed separately for parallel visual processing (a quad cam setup)?
  4. I plan to use OpenCV and GStreamer — will the kernel driver for this camera work for that? If not, which camera would be most suitable?

My target environment is a Jetson Orin Nano 8GB on JetPack 6.1, but I’m also looking at Jetson Nano/Xavier NX and Orin NX.

Welcome! To answer your questions:

  1. Yes, the AR0234 FHD Global Shutter camera works with the Jetson Orin Nano 8GB.
  2. The latest available driver release at the moment is JetPack 6.0 — there isn’t a JetPack 6.1 release yet.
  3. A quad camera HAT setup with separate/parallel processing of the individual streams is not supported.
  4. OpenCV and GStreamer are fine — the camera behaves like a normal Jetson camera. Anything you can do with an IMX219 on Jetson, this HAT kit can do as well, so just treat it as a normal Jetson camera for OpenCV/GStreamer development.

Thanks, that clears up the pre-sales side. I’ve got two follow-ups though:

First, I’m currently running IMX219 cameras and the AR0234 together. When the Jetvariety camera kernel is loaded, the IMX219 doesn’t work at all — even when it’s the only camera connected. The AR0234 works, but only with the arducam_displayer.py script; nvgstcapture-1.0 doesn’t pick it up. Any idea what’s happening?

Second, my client’s board has 4 CSI ports, 4 MIPI cameras and 1 ToF sensor. I need a board that can stream all the camera feeds synchronized for parallel processing. I’m considering a third-party ARK Jetson PAB carrier for this. Should I expect issues with that, and would you be able to help resolve them if they come up?

About the ARK Jetson PAB carrier — our cameras and their drivers are designed and tested specifically for NVIDIA’s official carrier boards. We can only guarantee full functionality and comprehensive support on those official boards. On third-party boards like the ARK Jetson PAB carrier, you may have trouble installing the camera drivers at all, and even if they install, compatibility isn’t guaranteed. Camera functionality may be limited or not work, and we can’t provide technical support for issues tied to third-party boards. If there’s any way to use an NVIDIA official carrier board, that’s the path I’d recommend.

Got it, I’ll keep the third-party board concerns in mind. Can we go back to the camera issue I mentioned earlier? Just to recap:

  • IMX219 does not work when the Jetvariety camera kernel is loaded, even with only the IMX219 connected.
  • AR0234 only works with arducam_displayer.py, not with nvgstcapture-1.0.

Could you help me diagnose this?

Sure, let me break it down:

Issue 1 — IMX219 not working: Installing the Jetvariety drivers replaces the drivers for both CSI interfaces with Jetvariety camera drivers. That’s why the IMX219 stops working even when it’s the only camera attached. To fix it, revert to the original NVIDIA drivers and the IMX219 will behave as expected again.

Issue 2 — AR0234 only working with arducam_displayer.py: That’s by design. arducam_displayer.py is the flexible script made for the AR0234, so it works, while nvgstcapture-1.0 isn’t the right tool for it. I’d recommend using arducam_displayer.py as the starting point for your project — you can modify and adapt it for your own needs and integrate it into your code for more control over the camera.

Thanks, that makes a lot of sense. One more thing — I’m actually working with a custom board rather than an official one. Would Arducam provide the source code of the Jetvariety driver for the AR0234? I’d also need a .dtb file for the camera driver on this board. Is that something you can help with?

To summarize where we’ve landed:

  • IMX219: revert to the original NVIDIA drivers — the Jetvariety install replaces both CSI interface drivers, which is what broke it.
  • AR0234: use arducam_displayer.py as your starting point and adapt it for your project; nvgstcapture-1.0 isn’t expected to work with it.

On the Jetvariety source code and a .dtb for your custom board — I’ve sent you a private message with details on what we can share. Just to set expectations, our drivers are only tested against NVIDIA’s official carrier boards, so on a custom board we can’t guarantee the driver or any provided .dtb will work without issues.