The question of multiple cameras on jetson nano

Jetson Nano technical specifications :
Camera : 12 lanes (3x4 or 4x2) MIPI CSI-2 D-PHY 1.1 (1.5 Gb/s per pair)

I can use the following command turn on a camera :

$ gst-launch-1.0 nvarguscamerasrc !'video/x-raw(memory:NVMM),width=3820, height=2464, framerate=21/1,format=NV12' ! nvvidconv flip-method=0 ! 'video/x-raw,width=960,height=616' ! nvvidconv ! nvegltransform ! nveglglessink -e

When I use this command again , it has error .
Can I turn on a same camera multiple times to experience 12 lanes
What command should I use ?

My camera is Raspberry Pi Camera v2

hello arknights,

according to the kernel sources as below.
that should only support dual-camera for Raspberry Pi camera modules, which use CSI-A and CSI-E.

$l4t-r32.2/public_sources/kernel_src/hardware/nvidia/platform/t210/porg/kernel-dts/porg-platforms/tegra210-camera-rbpcv2-dual-imx219.dtsi

you may also refer to Jetson Nano Product Design Guide, and check the [MIPI CSI (VIDEO INPUT)] chapter for more details.
thanks

Hello JerryChang,

Does one camera support only one pipeline open at a time ?
I want to turn on the camera through multiple pipelines.
I’ve turned on a camera, run the following command again :

$ gst-launch-1.0 nvarguscamerasrc !'video/x-raw(memory:NVMM),width=3820, height=2464, framerate=21/1,format=NV12' ! nvvidconv flip-method=0 ! 'video/x-raw,width=960,height=616' ! nvvidconv ! nvegltransform ! nveglglessink -e

It has error :

Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, execute:532 Failed to create CaptureSession
Got EOS from element "pipeline0".
Execution ended after 0:00:00.155991193
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...

Thanks

hello arknights,

you’re able to launch multiple cameras if you had correct configurations.
may I have more details regarding to below.
thanks

Does one camera support only one pipeline open at a time ?
you cannot streaming single video source at different pipeline simultaneously.
for example,
if you already launch video0 for streaming, you cannot initial another pipeline to access video0.

Can I turn on a same camera multiple times to experience 12 lanes
may I know what’s your device tree settings?

Hello JerryChang,

I get it , Thanks for your answers .
I didn’t change my device tree . It is the latest JetPack 4.2.1 .
My device tree information

/ {
	host1x {
		vi_base: vi {
			num-channels = <2>;
			ports {
				#address-cells = <1>;
				#size-cells = <0>;
				vi_port0: port@0 {
					reg = <0>;
					rbpcv2_imx219_vi_in0: endpoint {
						port-index = <0>;
						bus-width = <2>;
						remote-endpoint = <&rbpcv2_imx219_csi_out0>;
					};
				};
				vi_port1: port@1 {
					reg = <1>;
					rbpcv2_imx219_vi_in1: endpoint {
						port-index = <4>;
						bus-width = <2>;
						remote-endpoint = <&rbpcv2_imx219_csi_out1>;
					};
				};
			};
		};

		csi_base: nvcsi {
			num-channels = <2>;
			#address-cells = <1>;
			#size-cells = <0>;
			csi_chan0: channel@0 {
				reg = <0>;
				ports {
					#address-cells = <1>;
					#size-cells = <0>;
					csi_chan0_port0: port@0 {
						reg = <0>;
						rbpcv2_imx219_csi_in0: endpoint@0 {
							port-index = <0>;
							bus-width = <2>;
							remote-endpoint = <&rbpcv2_imx219_dual_out0>;
						};
					};
					csi_chan0_port1: port@1 {
						reg = <1>;
						rbpcv2_imx219_csi_out0: endpoint@1 {
							remote-endpoint = <&rbpcv2_imx219_vi_in0>;
						};
					};
				};
			};
			csi_chan1: channel@1 {
				reg = <1>;
				ports {
					#address-cells = <1>;
					#size-cells = <0>;
					csi_chan1_port0: port@2 {
						reg = <0>;
						rbpcv2_imx219_csi_in1: endpoint@2 {
							port-index = <4>;
							bus-width = <2>;
							remote-endpoint = <&rbpcv2_imx219_out1>;
						};
					};
					csi_chan1_port1: port@3 {
						reg = <1>;
						rbpcv2_imx219_csi_out1: endpoint@3 {
							remote-endpoint = <&rbpcv2_imx219_vi_in1>;
						};
					};
				};
			};
		};
	};

	cam_i2cmux {
		i2c_0: i2c@0 {
			imx219_cam0: rbpcv2_imx219_a@10 {
				compatible = "nvidia,imx219";
				/* I2C device address */
				reg = <0x10>;

				/* V4L2 device node location */
				devnode = "video0";

				/* Physical dimensions of sensor */
				physical_w = "3.680";
				physical_h = "2.760";

				sensor_model = "imx219";

				use_sensor_mode_id = "true";

				mode0 { /* IMX219_MODE_3264x2464_21FPS */
					mclk_khz = "24000";
					num_lanes = "2";
					tegra_sinterface = "serial_a";
					phy_mode = "DPHY";
					discontinuous_clk = "yes";
					dpcm_enable = "false";
					cil_settletime = "0";

					active_w = "3264";
					active_h = "2464";
					pixel_t = "bayer_rggb";
					readout_orientation = "90";
					line_length = "3448";
					inherent_gain = "1";
					mclk_multiplier = "9.33";
					pix_clk_hz = "182400000";

					gain_factor = "16";
					framerate_factor = "1000000";
					exposure_factor = "1000000";
					min_gain_val = "16"; /* 1.00x */
					max_gain_val = "170"; /* 10.66x */
					step_gain_val = "1";
					default_gain = "16"; /* 1.00x */
					min_hdr_ratio = "1";
					max_hdr_ratio = "1";
					min_framerate = "2000000"; /* 2.0 fps */
					max_framerate = "21000000"; /* 21.0 fps */
					step_framerate = "1";
					default_framerate = "21000000"; /* 21.0 fps */
					min_exp_time = "13"; /* us */
					max_exp_time = "683709"; /* us */
					step_exp_time = "1";
					default_exp_time = "2495"; /* us */

					embedded_metadata_height = "2";
				};
				mode1 { /* IMX219_MODE_3264x1848_28FPS */
					mclk_khz = "24000";
					num_lanes = "2";
					tegra_sinterface = "serial_a";
					phy_mode = "DPHY";
					discontinuous_clk = "yes";
					dpcm_enable = "false";
					cil_settletime = "0";

					active_w = "3264";
					active_h = "1848";
					pixel_t = "bayer_rggb";
					readout_orientation = "90";
					line_length = "3448";
					inherent_gain = "1";
					mclk_multiplier = "9.33";
					pix_clk_hz = "182400000";

					gain_factor = "16";
					framerate_factor = "1000000";
					exposure_factor = "1000000";
					min_gain_val = "16"; /* 1.00x */
					max_gain_val = "170"; /* 10.66x */
					step_gain_val = "1";
					default_gain = "16"; /* 1.00x */
					min_hdr_ratio = "1";
					max_hdr_ratio = "1";
					min_framerate = "2000000"; /* 2.0 fps */
					max_framerate = "28000000"; /* 28.0 fps */
					step_framerate = "1";
					default_framerate = "28000000"; /* 28.0 fps */
					min_exp_time = "13"; /* us */
					max_exp_time = "683709"; /* us */
					step_exp_time = "1";
					default_exp_time = "2495"; /* us */

					embedded_metadata_height = "2";
				};
				mode2 { /* IMX219_MODE_1920x1080_30FPS */
					mclk_khz = "24000";
					num_lanes = "2";
					tegra_sinterface = "serial_a";
					phy_mode = "DPHY";
					discontinuous_clk = "yes";
					dpcm_enable = "false";
					cil_settletime = "0";

					active_w = "1920";
					active_h = "1080";
					pixel_t = "bayer_rggb";
					readout_orientation = "90";
					line_length = "3448";
					inherent_gain = "1";
					mclk_multiplier = "9.33";
					pix_clk_hz = "182400000";

					gain_factor = "16";
					framerate_factor = "1000000";
					exposure_factor = "1000000";
					min_gain_val = "16"; /* 1.00x */
					max_gain_val = "170"; /* 10.66x */
					step_gain_val = "1";
					default_gain = "16"; /* 1.00x */
					min_hdr_ratio = "1";
					max_hdr_ratio = "1";
					min_framerate = "2000000"; /* 2.0 fps */
					max_framerate = "30000000"; /* 30.0 fps */
					step_framerate = "1";
					default_framerate = "30000000"; /* 30.0 fps */
					min_exp_time = "13"; /* us */
					max_exp_time = "683709"; /* us */
					step_exp_time = "1";
					default_exp_time = "2495"; /* us */

					embedded_metadata_height = "2";
				};
				mode3 { /* IMX219_MODE_1280x720_60FPS */
					mclk_khz = "24000";
					num_lanes = "2";
					tegra_sinterface = "serial_a";
					phy_mode = "DPHY";
					discontinuous_clk = "yes";
					dpcm_enable = "false";
					cil_settletime = "0";

					active_w = "1280";
					active_h = "720";
					pixel_t = "bayer_rggb";
					readout_orientation = "90";
					line_length = "3448";
					inherent_gain = "1";
					mclk_multiplier = "9.33";
					pix_clk_hz = "182400000";

					gain_factor = "16";
					framerate_factor = "1000000";
					exposure_factor = "1000000";
					min_gain_val = "16"; /* 1.00x */
					max_gain_val = "170"; /* 10.66x */
					step_gain_val = "1";
					default_gain = "16"; /* 1.00x */
					min_hdr_ratio = "1";
					max_hdr_ratio = "1";
					min_framerate = "2000000"; /* 2.0 fps */
					max_framerate = "60000000"; /* 60.0 fps */
					step_framerate = "1";
					default_framerate = "60000000"; /* 60.0 fps */
					min_exp_time = "13"; /* us */
					max_exp_time = "683709"; /* us */
					step_exp_time = "1";
					default_exp_time = "2495"; /* us */

					embedded_metadata_height = "2";
				};
				mode4 { /* IMX219_MODE_1280x720_120FPS */
					mclk_khz = "24000";
					num_lanes = "2";
					tegra_sinterface = "serial_a";
					phy_mode = "DPHY";
					discontinuous_clk = "yes";
					dpcm_enable = "false";
					cil_settletime = "0";

					active_w = "1280";
					active_h = "720";
					pixel_t = "bayer_rggb";
					readout_orientation = "90";
					line_length = "3448";
					inherent_gain = "1";
					mclk_multiplier = "9.33";
					pix_clk_hz = "169600000";

					gain_factor = "16";
					framerate_factor = "1000000";
					exposure_factor = "1000000";
					min_gain_val = "16"; /* 1.00x */
					max_gain_val = "170"; /* 10.66x */
					step_gain_val = "1";
					default_gain = "16"; /* 1.00x */
					min_hdr_ratio = "1";
					max_hdr_ratio = "1";
					min_framerate = "2000000"; /* 2.0 fps */
					max_framerate = "120000000"; /* 120.0 fps */
					step_framerate = "1";
					default_framerate = "120000000"; /* 120.0 fps */
					min_exp_time = "13"; /* us */
					max_exp_time = "683709"; /* us */
					step_exp_time = "1";
					default_exp_time = "2495"; /* us */

					embedded_metadata_height = "2";
				};

				ports {
					#address-cells = <1>;
					#size-cells = <0>;

					port@0 {
						reg = <0>;
						rbpcv2_imx219_dual_out0: endpoint {
							port-index = <0>;
							bus-width = <2>;
							remote-endpoint = <&rbpcv2_imx219_csi_in0>;
						};
					};
				};
			};
		};
		i2c_1: i2c@1 {
			imx219_cam1: rbpcv2_imx219_e@10 {
				compatible = "nvidia,imx219";
				/* I2C device address */
				reg = <0x10>;

				/* V4L2 device node location */
				devnode = "video1";

				/* Physical dimensions of sensor */
				physical_w = "3.680";
				physical_h = "2.760";

				sensor_model = "imx219";

				use_sensor_mode_id = "true";

				mode0 { /* IMX219_MODE_3264x2464_21FPS */
					mclk_khz = "24000";
					num_lanes = "2";
					tegra_sinterface = "serial_e";
					phy_mode = "DPHY";
					discontinuous_clk = "yes";
					dpcm_enable = "false";
					cil_settletime = "0";

					active_w = "3264";
					active_h = "2464";
					pixel_t = "bayer_rggb";
					readout_orientation = "90";
					line_length = "3448";
					inherent_gain = "1";
					mclk_multiplier = "9.33";
					pix_clk_hz = "182400000";

					gain_factor = "16";
					framerate_factor = "1000000";
					exposure_factor = "1000000";
					min_gain_val = "16"; /* 1.00x */
					max_gain_val = "170"; /* 10.66x */
					step_gain_val = "1";
					default_gain = "16"; /* 1.00x */
					min_hdr_ratio = "1";
					max_hdr_ratio = "1";
					min_framerate = "2000000"; /* 2.0 fps */
					max_framerate = "21000000"; /* 21.0 fps */
					step_framerate = "1";
					default_framerate = "21000000"; /* 21.0 fps */
					min_exp_time = "13"; /* us */
					max_exp_time = "683709"; /* us */
					step_exp_time = "1";
					default_exp_time = "2495"; /* us */

					embedded_metadata_height = "2";
				};
				mode1 { /* IMX219_MODE_3264x1848_28FPS */
					mclk_khz = "24000";
					num_lanes = "2";
					tegra_sinterface = "serial_e";
					phy_mode = "DPHY";
					discontinuous_clk = "yes";
					dpcm_enable = "false";
					cil_settletime = "0";

					active_w = "3264";
					active_h = "1848";
					pixel_t = "bayer_rggb";
					readout_orientation = "90";
					line_length = "3448";
					inherent_gain = "1";
					mclk_multiplier = "9.33";
					pix_clk_hz = "182400000";

					gain_factor = "16";
					framerate_factor = "1000000";
					exposure_factor = "1000000";
					min_gain_val = "16"; /* 1.00x */
					max_gain_val = "170"; /* 10.66x */
					step_gain_val = "1";
					default_gain = "16"; /* 1.00x */
					min_hdr_ratio = "1";
					max_hdr_ratio = "1";
					min_framerate = "2000000"; /* 2.0 fps */
					max_framerate = "28000000"; /* 28.0 fps */
					step_framerate = "1";
					default_framerate = "28000000"; /* 28.0 fps */
					min_exp_time = "13"; /* us */
					max_exp_time = "683709"; /* us */
					step_exp_time = "1";
					default_exp_time = "2495"; /* us */

					embedded_metadata_height = "2";
				};
				mode2 { /* IMX219_MODE_1920x1080_30FPS */
					mclk_khz = "24000";
					num_lanes = "2";
					tegra_sinterface = "serial_e";
					phy_mode = "DPHY";
					discontinuous_clk = "yes";
					dpcm_enable = "false";
					cil_settletime = "0";

					active_w = "1920";
					active_h = "1080";
					pixel_t = "bayer_rggb";
					readout_orientation = "90";
					line_length = "3448";
					inherent_gain = "1";
					mclk_multiplier = "9.33";
					pix_clk_hz = "182400000";

					gain_factor = "16";
					framerate_factor = "1000000";
					exposure_factor = "1000000";
					min_gain_val = "16"; /* 1.00x */
					max_gain_val = "170"; /* 10.66x */
					step_gain_val = "1";
					default_gain = "16"; /* 1.00x */
					min_hdr_ratio = "1";
					max_hdr_ratio = "1";
					min_framerate = "2000000"; /* 2.0 fps */
					max_framerate = "30000000"; /* 30.0 fps */
					step_framerate = "1";
					default_framerate = "30000000"; /* 30.0 fps */
					min_exp_time = "13"; /* us */
					max_exp_time = "683709"; /* us */
					step_exp_time = "1";
					default_exp_time = "2495"; /* us */

					embedded_metadata_height = "2";
				};
				mode3 { /* IMX219_MODE_1280x720_60FPS */
					mclk_khz = "24000";
					num_lanes = "2";
					tegra_sinterface = "serial_e";
					phy_mode = "DPHY";
					discontinuous_clk = "yes";
					dpcm_enable = "false";
					cil_settletime = "0";

					active_w = "1280";
					active_h = "720";
					pixel_t = "bayer_rggb";
					readout_orientation = "90";
					line_length = "3448";
					inherent_gain = "1";
					mclk_multiplier = "9.33";
					pix_clk_hz = "182400000";

					gain_factor = "16";
					framerate_factor = "1000000";
					exposure_factor = "1000000";
					min_gain_val = "16"; /* 1.00x */
					max_gain_val = "170"; /* 10.66x */
					step_gain_val = "1";
					default_gain = "16"; /* 1.00x */
					min_hdr_ratio = "1";
					max_hdr_ratio = "1";
					min_framerate = "2000000"; /* 2.0 fps */
					max_framerate = "60000000"; /* 60.0 fps */
					step_framerate = "1";
					default_framerate = "60000000"; /* 60.0 fps */
					min_exp_time = "13"; /* us */
					max_exp_time = "683709"; /* us */
					step_exp_time = "1";
					default_exp_time = "2495"; /* us */

					embedded_metadata_height = "2";
				};
				mode4 { /* IMX219_MODE_1280x720_120FPS */
					mclk_khz = "24000";
					num_lanes = "2";
					tegra_sinterface = "serial_e";
					phy_mode = "DPHY";
					discontinuous_clk = "yes";
					dpcm_enable = "false";
					cil_settletime = "0";

					active_w = "1280";
					active_h = "720";
					pixel_t = "bayer_rggb";
					readout_orientation = "90";
					line_length = "3448";
					inherent_gain = "1";
					mclk_multiplier = "9.33";
					pix_clk_hz = "169600000";

					gain_factor = "16";
					framerate_factor = "1000000";
					exposure_factor = "1000000";
					min_gain_val = "16"; /* 1.00x */
					max_gain_val = "170"; /* 10.66x */
					step_gain_val = "1";
					default_gain = "16"; /* 1.00x */
					min_hdr_ratio = "1";
					max_hdr_ratio = "1";
					min_framerate = "2000000"; /* 2.0 fps */
					max_framerate = "120000000"; /* 120.0 fps */
					step_framerate = "1";
					default_framerate = "120000000"; /* 120.0 fps */
					min_exp_time = "13"; /* us */
					max_exp_time = "683709"; /* us */
					step_exp_time = "1";
					default_exp_time = "2495"; /* us */

					embedded_metadata_height = "2";
				};

				ports {
					#address-cells = <1>;
					#size-cells = <0>;

					port@0 {
						reg = <0>;
						rbpcv2_imx219_out1: endpoint {
							port-index = <4>;
							bus-width = <2>;
							remote-endpoint = <&rbpcv2_imx219_csi_in1>;
						};
					};
				};
			};
		};
	};

	lens_imx219@RBPCV2 {
		min_focus_distance = "0.0";
		hyper_focal = "0.0";
		focal_length = "3.04";
		f_number = "2.0";
		aperture = "0.0";
	};
};

/ {
	tcp: tegra-camera-platform {
		compatible = "nvidia, tegra-camera-platform";

		num_csi_lanes = <4>;
		max_lane_speed = <1500000>;
		min_bits_per_pixel = <10>;
		vi_peak_byte_per_pixel = <2>;
		vi_bw_margin_pct = <25>;
		max_pixel_rate = <240000>;
		isp_peak_byte_per_pixel = <5>;
		isp_bw_margin_pct = <25>;

		modules {
			cam_module0: module0 {
				badge = "porg_front_RBPCV2";
				position = "front";
				orientation = "1";
				cam_module0_drivernode0: drivernode0 {
					pcl_id = "v4l2_sensor";
					devname = "imx219 7-0010";
					proc-device-tree = "/proc/device-tree/cam_i2cmux/i2c@0/rbpcv2_imx219_a@10";
				};
				cam_module0_drivernode1: drivernode1 {
					pcl_id = "v4l2_lens";
					proc-device-tree = "/proc/device-tree/lens_imx219@RBPCV2/";
				};
			};
			cam_module1: module1 {
				badge = "porg_rear_RBPCV2";
				position = "rear";
				orientation = "1";
				cam_module1_drivernode0: drivernode0 {
					pcl_id = "v4l2_sensor";
					devname = "imx219 8-0010";
					proc-device-tree = "/proc/device-tree/cam_i2cmux/i2c@1/rbpcv2_imx219_e@10";
				};
				cam_module1_drivernode1: drivernode1 {
					pcl_id = "v4l2_lens";
					proc-device-tree = "/proc/device-tree/lens_imx219@RBPCV2/";
				};
			};
		};
	};
};

okay, that only support dual Raspberry Pi camera modules, which use CSI-A and CSI-E.

If I connect two Raspberry Pi camera to my nano module , how can I turn on both cameras at the same time ?
In order to turn on another one , what changes do I need to make in the following command ?

$ gst-launch-1.0 nvarguscamerasrc !'video/x-raw(memory:NVMM),width=3820, height=2464, framerate=21/1,format=NV12' ! nvvidconv flip-method=0 ! 'video/x-raw,width=960,height=616' ! nvvidconv ! nvegltransform ! nveglglessink -e

hello arknights,

  1. suggest you check the documentation, Camera Software Development Solution for the approaches for validating and testing.

  2. you may also check L4T Multimedia API Reference about the sample applications, such as 13_multi_camera.

  3. you could also extend your gst pipelines, there could be couple of nvarguscamerasrc in the single gstreamer pipeline, you’ll need to use two overlays for dual preview windows.
    for example,

$ gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! 'video/x-raw(memory:NVMM),width=1920,height=1080,framerate=30/1,format=NV12' ! nvoverlaysink overlay=0 overlay-x=0 overlay-y=0 overlay-w=960 overlay-h=1080 ! nvarguscamerasrc sensor-id=1 ! 'video/x-raw(memory:NVMM),width=1920,height=1080,framerate=30/1,format=NV12' ! nvoverlaysink overlay=1 overlay-x=100 overlay-y=100 overlay-w=960 overlay-h=1080

Hello!

Is it possible to attach 4x Rpi Cam v2 to jetson nano? I want to build custom carrier board, however Product Design Guide mentions one I2C dedicated to controlling camera. One idea was to mux it, however we desire simultaneous video streams from all four cameras. Can we extend device tree and use other available I2C apart from CAM_I2C (GEN1, GEN2, GEN3) and attach them to cameras? Will driver support something like this?

hello macck,

there’s reference driver for Raspberry Pi dual-camera module, which using i2cmux for two camera modules on 0x10.
$l4t-r32.2/public_sources/kernel_src/hardware/nvidia/platform/t210/porg/kernel-dts/porg-platforms/tegra210-camera-rbpcv2-dual-imx219.dtsi

please also refer to comment #2 for details.
thanks

Thank You for Your response.

Im aware of that and we looked into some examples and dtsi files. So theoretically we can extend i2c_mux to support 4 cameras (4x2 CSI lanes)? And if we wanted to do so, or to assign separate I2C’s to each camera, where it is defined? Changing tegra210-porg-camera-rbpcv2-dual-imx219.dtsi and tegra210-camera-rbpcv2-dual-imx219.dtsi will be enough?

I have found this : https://devtalk.nvidia.com/default/topic/1051432/jetson-tx2/two-camera-dts-sample-without-i2c-mux-on-tx2/

Where tegra186-quill-camera-e3323-a00.dtsi is provided as example. From my understanding i can therefore use similar idea to modify
$l4t-r32.2/public_sources/kernel_src/hardware/nvidia/platform/t210/porg/kernel-dts/porg-platforms/tegra210-camera-rbpcv2-dual-imx219.dtsi
for quad camera support/usage of different i2c’s?

hello macck,

I would suggest you refer to below dtsi file, you may search cam_tca9548_77 for an example,
$l4t-r32.2/public_sources/hardware/nvidia/platform/t210/jetson/kernel-dts/jetson-platforms/tegra210-jetson-cv-camera-modules.dtsi

you may also check below kernel sources for I2C multiplexer.
$l4t-r32.2/public_sources/kernel/nvidia/drivers/i2c/busses/i2c-ivc-multi.c

please refer to Sensor Software Driver Programming Guide and check the [Port Index] session for camera connections.
please note that, according to Jetson Nano Product Design Guide, Nano support up-to four 2-lane CSI camera sensors simultaneously.
thanks

Hi there, i wanna to buy the jetson nano production module, JN30B rev4 board, and two cameras (probably Raspberry Pi NoIR kamera V2 with IMX219 chip) to made stereo visual odometry. Are these cameras compatibles with HW or not? I need sycnhronised capture from cameras.

if i cite JerryChang: “that only support dual Raspberry Pi camera modules, which use CSI-A and CSI-E”

Which type of camera you recommend?

please contact with Jetson Preferred Partners for camera solutions.

Dear CSI experts,

I’d like to have your confirmation about the possibility to interface multiple CSI sensors (at least 2 for my plan to build a stereo camera) using an external adapter (similar to this https://www.arducam.com/product/multi-camera-v2-1-adapter-raspberry-pi/) with the Jetson Nano Development Kit Rev.A02 (which disposes only 1 CSI connector), please?

Thanks in advance,

Hi khang.letruongg7g8r,

Please help to open a new topic for your issue.

Thanks

Hi kaycc,

Thanks for your suggestion. I’ll open a new topic.

Best regards,