Virtual channels

  1. What are the available options to make use of the 8 virtual channels using Jetson orin nano?

  2. Do virtual channels guarantee the synchronization between all connected cameras? as I need the cameras stream to be perfectly synchronized for developing depth_data

  3. I need to connect 8 CSI cameras (low resolution), however the dev kit supports only 2 physical CSI ports? Any additional hardware needed or what are steps to be followed?


hello reem.othman,

please refer to [View Jetson Orin Technical Specifications] from NVIDIA Jetson AGX Orin.
it supports up-to 8 camera via virtual channels.
you may see-also developer guide, Jetson Virtual Channel with GMSL Camera Framework for driver development.

no, there’s no synchronization mechanism. please have external frame-sync pin connected, or, please use software approach to have timestamp comparison for the frame-sync scenario.

even though Orin Module brings eight MIPI CSI lanes to the connector. it supported up-to four dual-lane camera streams, (i.e. physical camera sensors).
please enable Virtual Channel for your 8-cam use-case.
you may see-also Jetson Orin NX Series and Orin Nano Series Design Guide for more details.

Hi @JerryChang
Thanks a lot for your support, I would kindly ask you to help me answer these questions as I am confused regarding some points:

Q1: What I found is that we have 3 cases:

  1. Using the devkit it is just supporting 2 MIPI cameras if I am using the devkit(as shown here #1)
    Can we use virtual channels with the Orin nano devkit so we get the 8 cameras? is the hardware needed for that same for AGX in the link you mentioned Jetson Virtual Channel with GMSL Camera Framework — NVIDIA Jetson Linux Developer Guide 1 documentation???

  2. Up-to 4 cameras in case of Orin Nano module…Do we need any specific Mux board for that if I am using devkit with only 2 csi ports ?

  3. Up-to 8 cameras using virtual channels…this is using module or the devkit?


hello reem.othman,

there’re only two camera connectors on Orin Nano developer kit, (or, let’s say it’s Orin Nano module on Orin Nano carrier board)
physically, it supports two cameras only when using a developer kit.

there’re camera solutions provied by Jetson Camera Partners,
here’s one example of carrier board for sharing single camera slot with 4-camera.
for instance, Arducam 1MP*4 Quadrascopic Camera Bundle Kit, this is the approach with virtual channel support enabled.

hence, it depends-on your own use-case.
you may contact with Jetson Camera Partners for camera solutions. or, develop another carrier board with more camera connectors.

Hi @JerryChang,

  1. Great, so no way to use the virtual channels without a carrier board from Jetson Camera Partners, correct?

  2. Regarding the suggested board you mentioned,
    Is it using the virtual channels approach?
    Because I thought it’s putting all frames together in one frame away from the VC approach of jetson

  3. We already bought some boards but unfortunately it just supports CAM1 port on Jetson Orin Nano, but not compatible with CAM0 port and Arducam support cannot solve this issue.

FYI, this is the case for this suggested board I am trying to solve, but trials ended up with nothing useful.

  1. It would be great if you have any other recommendations from your side, because we couldn’t find any other partner like arducam making this Quad carrier board???

hello reem.othman,

it’s not a suggested board. I’m just sharing you an example with VC support.
please contact with Jetson Camera Partners for camera solutions.

Okay, I meant ‘mentioned’.

My question was: no way to use the virtual channels without a carrier board from Jetson Camera Partners, correct?

hello reem.othman,

that’s correct. you’ll need a hardware with multi-camera for sharing a CSI brick.

1 Like

@JerryChang Last question; And this is cannot be done without the use of the virtual channels supported by jetson, correct?

hello reem.othman,

please check this diagram of virtual channel connections.

Virtual Channel supported it enable multiple camera for sharing a CSI brick. it uses virtual channels to connect to four cameras over one CSI connection.
for instance,
you could have 4-camera running on CSI-A/B. these four cameras are able to stream individually and having separate auto-controls (AE, AWB…etc).

according to above VC explanation.
may I double confirm what is this you’ve mentioned? could you please give more details.

1 Like

Thanks for your response @JerryChang , really helpful.

I meant by ‘this’: Connecting 8 CSI cameras to Jetson cannot be done WITHOUT making use of the Virtual Channels on Jetson?

Because I thought that these carrier boards (From the camera partners) are using different technology to stiff the 4 camera frames into 1 frame, without the use of Jetson Virtual Channels.

I hope I made it clear.

thanks again.

hello reem.othman,

this is another approach, and surely it could be done by camera partner.
please consider CSI as a receiver, in such scenario. (stiff the 4 camera frames into 1 frame) CSI will consider it as single input sources.