Set 9152x6944 single-image storage on Jetson Nano with B0402 64MP auto-focus quad camera kit?

Hi, I’m evaluating the B0402 64MP auto-focus quad camera kit for a project. I need to confirm whether the maximum storage resolution can be set to 9152x6944 for single-image storage. From what I’ve read, the kit combines four cameras into one frame, and each camera’s max resolution is 1/4 of the total — 2288(H) x 1736(V). Can anyone clarify how single-image storage works at max resolution?

Welcome! To point you in the right direction, can you share a bit more about your setup? Which platform are you on (Jetson Nano, Raspberry Pi?), which HAT board versions, and what camera modules/sensors you’re using. If you have a reference script, please paste the link too.

Sure, here’s my environment:

  • Jetson Nano
  • B0397 (2x2 stitching, no MCU, official driver)
  • B0267 (1x4 stitching, with MCU, V4L2 driver)
  • IMX477 sensors
  • HAT board connected via MIPI CSI
  • Also testing on a Raspberry Pi with the B0402 64MP auto-focus quad camera kit

The script I’ve been referencing is:
https://github.com/ArduCAM/picamera2_examples/blob/main/hat_switch_camera_to_take_pictures.py

Thanks, that helps. Could you run the bug report tool and attach the output?

wget -O arducam-camera-bug-report-nvidia https://github.com/ketai-dhr/arducam-camera-bug-report/releases/download/tools/arducam-camera-bug-report-nvidia
chmod +x ./arducam-camera-bug-report-nvidia
./arducam-camera-bug-report-nvidia

One note: the Nano CSI interface should connect to the HAT board, not directly to the camera.

Here’s the generated log: arducam-bug-report.txt

Got it, thanks. While I review that, can you describe what you’ve already tried and what behavior you’re seeing — especially frame rates and camera synchronization?

What I’ve tried so far:

  • Jetson Nano running two B0397 boards at the highest resolution: about 5-6 fps
  • A single HAT (4 cameras): the sync is within my expected range
  • Two HATs (8 cameras) on the Jetson at the same time: sync cannot be guaranteed
  • Saving eight separate images by calling the driver from Python (requires OpenCV)

On the Raspberry Pi question: I can’t guarantee your Raspberry Pi will be able to store a single image at max resolution. The script you referenced has been tested and can be set to 64MP max resolution for image storage. Just keep in mind the B0402 kit combines four cameras into one frame, so each camera’s max resolution is 1/4 of the total — 2288(H) x 1736(V).

Understood, but to be specific about my target: can single-image storage be set to 9152x6944? That’s the resolution I need to hit.

Here’s what we can confirm on the sync/config side:

  • A single HAT (4 cameras) can guarantee the time difference is within your expected range.
  • Running two HATs (8 cameras) simultaneously on the Jetson for image storage cannot be guaranteed for time sync. The HAT design intent/usage doesn’t cover running two HATs (8 cameras) at the same time on Jetson.
  • On Jetson Nano running two B0397 at the highest resolution, the frame rate is roughly 5-6 fps.

The two boards also work differently:

  • B0267: 1x4 stitching, has an MCU, uses the V4L2 driver.
  • B0397: 2x2 stitching, no MCU, uses the official driver.

The 2x2 stitching is the image stitching method — previewing/storing with B0397 produces a grid (田字形) image, and that doesn’t affect one MIPI port driving four cameras. Also, the official IMX477 camera driver won’t light up the Arducam HAT; you need to install the imx477_stereo driver. B0267’s four camera modules won’t be recognized if connected directly to the Jetson — they must go through the HAT board. For individual storage, you’d need to cut to a single channel, and with that approach you can only store one camera’s image at a time.

That makes sense. For my use case I need to store eight separate images, and my sync requirement is that the stored photos from the eight cameras are within 250ms of each other (any image frame time differs from the others by ±125ms). My flash function is self-made and doesn’t need the fstrobe port. What’s the recommended approach here?

Based on that, use a single HAT (4 cameras) to guarantee synchronization within the time difference you need. To store eight separate images, use Python to call the driver — this requires OpenCV. If you need something more customized, you can contact [email protected] for software solution customization. For the B0402 on Raspberry Pi, there’s a script that can simultaneously store single images separately, and it has been tested to set 64MP max resolution for image storage.

Thanks. Could you post the relevant links for the driver and the script? Also I may need to collect another bug report — can you include the command again?

Sure, here you go:

And the bug report commands are the same three lines from earlier.

One more thing — could you also provide the B0402 structural dimension data, 3D model files, or dimension drawings? I need them for the mechanical side of my design.

I’ll flag that request. To summarize where we are: the B0402 stores images in 2*2 mode by default, but the Raspberry Pi script (hat_switch_camera_to_take_pictures.py) enables storing single images separately and can be configured to 64MP maximum resolution. However, we can’t guarantee your Raspberry Pi can actually store a single image at max resolution (your 9152x6944 target). For the 8-camera Jetson setup, the practical path is a single HAT for guaranteed sync, plus Python/OpenCV with the driver for separate image storage.