Camera advice

Hi all,

So I’d like to connect 5-6 cameras (ideally IMX290 or something else with good low-light vision) to a Xavier DevKit with about 1-meter cables. Ideally I would use the CSI interface, and ideally they would be serialized into a coaxial connection to facilitate the 1 meter cables.

Ideally the system would be cheaper than USB equivalents since it’s essentially a USB camera MINUS the USB controllers plus some el cheapo serialization/deserialization, dumping images straight into RAM, hence it should be more cost-effective than USB.

What options out there exist that actually work?

I’ve looked at D3’s stuff but according to sales, their 6-camera system can only support 1 camera at a time (WTF) and their 16 camera system can support only 4 cameras a time (again, WTF) and costs about 4X-10X more than a USB system even though it does less work than a USB 3.1 controller does.

Is there a system out there that honestly works to its advertised specifications and can basically plug-and-play 5-6 cameras into a Xavier, in the same way that a Raspberry Pi CSI camera is dirt cheap AND “just works”, no questions asked? Obviously cheap would be nice, but first priority is I’m looking for something that actually works as advertised, i.e. if it has 6 Fakra ports, it had better handle 6 cameras at the same time.

In volume millions that might be true, but the USB controller is not a particularly high-cost part in general, especially compared to anything custom for “el cheapo” serialization.
If you add the cost of engineers actually designing something new, then using an existing USB solution would win for any small-to-mid-volume product IMO.
Your math about “MINUS the USB controller” just doesn’t work out for real product engineering.

The Raspberry Pi camera “works” and “is cheap” because those were explicit design goals of that particular product, and took significant effort by the Broadcom people to actually make happen. They may have made it back in volume, perhaps, but in general, their goal isn’t even profitability; it’s putting computers in the hands of kids/educators, and to provide a test bed for Broadcom mobile chips they might at some point manage to get into volume handsets that actually generate profit.

That being said, there’s also GMSL camera links. They have the draw-back of not super high resolution times frame rate, but they’re application-specific, can run far, and are designed almost exactly for the use case you’re suggesting. See discussion for example in this thread:
You said the D3 camera boards don’t actually do what you need, so you might need to either find another vendor that does, or design your own board.

Welcome to “the part of the world that’s not served by either volumes of millions, or cheap reference boards turned out from basement factories in Shenzhen,” e g any kind of industrial engineering.

hello wuxiekeji,

according to your description,
you should working with sensor modules that use Serializer/Deserializer chips (such as GMSL or FPD Link),
please contact Jetson Preferred Partners for solutions.

Hi @JerryChang,

Thanks for the reply! I am aware of the Jetson Preferred Partners. Unfortunately, I have had too many bad experiences with them where what they advertise is either not available or not complete.

D3, for example, has advertised some amazing specs but I quote a D3 sales engineer:

  • “The 16-channel card does not have 16-channel support at this time. We are awaiting for virtual channel support from Nvidia before that can be possible.”

  • “Keep in mind we are still awaiting the release of virtual channel support from Nvidia before we can open up more channels. The 6-channel card is not really a 6-channel card. It is really a 6-input card that can only run one camera at a time off-the-shelf.”

Well that doesn’t sound like a good deal to me for $1K+ of hardware. From the information I’m getting it seems like the problem is stuck at NVIDIA.

It would be nice if NVIDIA can get on the case of enabling your preferred partners to actually deliver on their specs. Xavier has been out for more than 6 months now, and not being able to use it to its full potential is a MASSIVE dealbreaker for any kind of autonomous machine.

Separately, what I’m really looking for by asking this question in the forum here is a solution to connect 5-6 cameras to a Xavier that any forum user has had success using, so that I can be assured that it actually exists, is delivered, and is working as promised, instead of wasting hours in sales calls with all the preferred partners, many of which won’t be able to actually deliver. Whether it’s D3’s solution with some aftermarket hacks to make up for the missing functionality, or someone who has successfully reverse-engineered what NVIDIA hasn’t provided to the preferred partners, or another partner who has another working solution using an entirely different design, I’d just like to know what has been demonstrated to work and is available for purchase.

e-con claims success for four cameras on the Xavier:

(They also have an earlier 4-camera system that worked on the TX2 and they claim works on Xavier, and a six-camera system that works on the TX2 – the Xavier has a TX2 compatible camera connector, but they don’t explicitly claim success there, so …)

Add a USB camera or two and you have a 5-6 camera system.

If you have already talked to e-con and their four-camera systems don’t work, that would be highly useful to know …

Thanks. Sure, they claim success, although D3 claims similar and they don’t deliver. Has anyone actually used it? Would love some user reviews here – 1 star, 5 stars? Does it work as advertised?

Also I need the connections to be about 1 meter long. e-con doesn’t seem to be using any SerDes chips in that product …

Why exactly is USB 3 not good enough for you, if you have that requirement?
Get five USB-2 webcams, plug them in through a good USB-3 hub, success!

USB isn’t stable for industrial applications. I’ve been prototyping with USB cameras and all it takes is a robot to go over a nice bump to get the USB cameras to disconnect and re-enumerate. It’s just not a very resilient protocol and very easy to get devices to go into a “zombie” mode where the only way to get them to enumerate again is to power cycle them. That’s bad.

Also, plugging USB-2 cameras into a USB-3 hub does not give you more bandwidth. USB-3 hubs are actually a USB-2 and a USB-3 hub in the same box. USB-2 devices will not be enumerated by the USB-3 host controller. So you are also severely limited by the bandwidth you can get.

USB-3 cameras are even more vibration-unstable and all-around-unstable than USB-2 cameras. They’re great for sitting on top of a desktop monitor but not for an industrial machine.

Thanks for reminding me about the USB 2/3 duality – I had forgotten!
Yes, I’ve used USB3 on a robot with a Zed talking to a Jetson TX2, and getting it to stay connected required some work on vibration isolation and hot glue on the connectors …

Anyway, if you’re designing for industrial, you’re probably already aware that everything there costs 10x what the cheap consumer shit costs from China, for the dual reasons of “harsher environmental requirements” and “much lower volume.”

e-con claims their cameras are connected with “micro-coaxial” cables, but all the pictures show just a wire bundle wrapped up; I don’t quite understand how that’s co-axial at all.

Hi wuxiekeji,

As some suggestions above, it sounds your use case can take advantage of technologies like GMSL or FPD-Link III. RidgeRun is an embedded software company. Provided the required hardware we have been able to capture up to 3 cameras simultaneously using FPD-Link III (IMX390 + DS90UB953 Serializer + DS90UB960 Deserializer), we have not been able to test more due to a lack of hardware. However the driver development is done to support up 6 cameras, support for 8 cameras is still to be done but we are currently stuck with issues related to nvargus software stack.

Regarding GMSL we’ve been able to capture simultaneously with two cameras (OV10635 + MAX9271 Serializer + MAX9296 Deserializer) but currently the development is done to support up to 4 cameras (again we have not been able to test more due to a lack of hardware).

In any case feel free to contact us if you have any doubts.

Update: We have developed support for up to 8 cameras using FPD-Link III, to use 8 cameras we needed to add the following binary provided by NVIDIA:

SurveilsQUAD is a Synchronized multiple Full HD low-light cameras for NVIDIA® Jetson AGX Xavier™. This multiple camera solutions has four e-CAM21_CUMI290_MOD MIPI camera module, based on SONY® STARVIS IMX290 CMOS Image Sensor. It has excellent low light performance, can work even at zero lux conditions. Know More: