Introducing Camarray: Arducam’s New Solution to Multiple Cameras on Embedded Systems and Edge Devices for 2021
As one of the leading companies that pioneers in multiple cameras for popular embedded systems, Arducam now releases the new multi-camera solutions – named Camarray – which allows you to connect and sync up to 4 MIPI camera modules on the Raspberry Pi, Jetson Nano, and Jetson Xavier NX or even more platforms. Read along for more details.
- Look back on the trip: Arducam and Multiple Cameras
- Why does Arducam provide solutions for multi-camera applications?
- What has Arducam offered for multiple cameras on embedded systems?
- Introducing the Arducam Camarray products and solutions
- What is Camarray?
- What are the hardware platforms, driver features and camera modules supported by Camarray?
- What are the types of Camarray Products?
- Stereo Camera Module
- Camarray Stereo Camera HAT
- Camarray Quad Camera HAT
- Camarray customization Services
- Coming Next: Quad IMX219 Bundle Kit enabled by Arducam libcamera driver
- Get the Camarray Solution
Look back on the trip: Arducam and Multiple Cameras
Why does Arducam provide solutions for multi-camera applications?
CMOS cameras help us image the real world in digital form. We live in a three-dimensional world, but a single-camera system primarily represents the two-dimensional space by collecting photons in a flat surface of an image sensor. How can we reconstruct the 3D world? Use multiple cameras.
If you want to model and represent the 3D space, you need more cameras to set up a camera coordinate system, and then map it to that of the real world. Generally speaking, the more, the better. More cameras lead to better coverage of a wider area, and thus to better accuracy.
People have relied on this idea to build amazing solutions and change the world. Multiple cameras can help self-driving cars to tell their position on the road and to avoid other cars and obstacles. Multiple camera processing technologies have enabled VR (Virtual Reality), AR(Augmented Reality), and other applications like SLAM (Simultaneous Localization and Mapping).
What has Arducam offered for multiple cameras on embedded systems?
It’ll be cool to attach a fancy camera array to a fancy computer system, but we believe it’ll be even cooler if we can attach multiple cameras to simple single-board computers or edge devices, such as the Raspberry Pi and Jetson Nano.
For years, Arducam has been pushing ourselves for multi-camera solutions on RPi-like embedded systems. We first released a multi-camera adapter that enabled a Pi to connect multiple camera modules and switch between them in a time-multiplexed fashion, and then released a synchronized stereo camera HAT to connect and sync two cameras at the same time.
Later as the newer NVIDIA Jetson platform prevailed, we also added support to the Jetson Nano and Xavier NX and made the solution more compatible and universal. As we dive deeper, the trip to multi-camera solutions becomes lonelier, yet we’re still constantly asking ourselves: How can we make the solution even better?
Introducing the Arducam Camarray products and solutions
What is Camarray?
Camarray is Arducam’s latest multi-camera solutions for Raspberry Pi, Jetson Nano, Xavier NX and more, consisting of both hardware and software solutions. The core hardware solution breaks the limits of physical camera connectors and allows for connection of up to 4 same MIPI cameras. The software solution makes it possible to completely display and capture video feeds from all the cameras connected, or even support image sensors that are not natively supported by the official drivers.
With the hardware and software solutions combined, you will have the option to either use the multi-camera system in an official way with your existing code without any change by using official driver (mmal or nvargus), or use it in the Arducam way with our opensource V4L2 drivers. Let’s call it the Native Mode and the Arducam Mode, respectively.
With Native Mode, it can squeeze the multiple video inputs by changing the resolution ratio in order to output the same resolution as the driver expected. In this way, it cheats the backend processor as if only one camera is connected.
If you want to go beyond what the official driver is capable of and get the full un-squeezed image from each camera, use the open-source V4L2 camera driver from Arducam.
What are the hardware platforms, driver features and camera modules supported by Camarray?
The Arducam Camarray solution is mainly designed for and tested on a single board computer, including the Raspberry Pi, Jetson Nano, and Jetson Xavier NX. For those users who want to use it on a Windows/Linux PC or a laptop, Arducam also allows you to connect the Camarray HAT to a PC with an Arducam USB3.0 camera shield and a MIPI camera adapter board.
Since the camera driver is V4L2 compliant, it is compatible with almost all of the camera tools or software that support V4L2 cameras like VLC player, Gstreamer, OpenCV, etc. The driver source code is also available for end-users to rebuild the driver for new kernel when there is no latest driver installation package provided.
In terms of the camera modules supported, the idea is simple: As long as the MIPI camera module already works on your existing systems, Arducam Camarray makes multiple of them possible. Currently, we have products and evaluation bundles based on the native 5MP OV5647, 8MP IMX219, 12MP IMX477, as well as the Arducam-supported global shutter image sensors like OV9281 and OV2311. That being said, even if the MIPI camera modules are not supported at present, we are willing to take customization challenges to make that possible.
We have to mention that a random combination of camera module and Camarray boards are not supported. Different image sensors require different Camarray firmware to work, and the camera modules in the bundle kit are different from kit to kit even if they look the same. Therefore, we would highly recommend users try our selected bundle kit to do the proof of the concept before moving to customized design unless the bundle doesn’t fit your need.
What are the types of Camarray Products?
The Arducam Camarray is a versatile solution, it can take the form of different product styles. That also means it can be integrated into your products more easily. Currently, we offer products in 3 different forms, and we also accept customization requests if the off-the-shelf products and bundles cannot meet your requirements.
Stereo Camera Module
If you are familiar with the commercial USB stereo cameras like Intel RealSense or Zed but are looking for a MIPI equivalent, then this Stereo Camera Module style might be a good candidate. With a standard 15-pins FPC cable, you can connect the stereo camera as easily as your existing camera. It has a fixed baseline, and the typical application of this stereo camera is depth sensing and obstacle avoidance.
Currently, we have 2 global shutter monochrome stereo camera modules: the 1MP×2 OV9281, and the 2MP×2 OV2311. Arducam also offers 3D-printed cases and tripods to make it easier to use.
- Monochrome global shutter cameras fully synchronized
- Fixed 80mm base line
- Optional variation of M12 mount lenses
- Side by Side merged output image through a single MIPI interface
- V4L2 compliant kernel camera driver
- Support Raspberry pi and Jetson Nano/Xavier NX platforms
- Opensource 3D printing enclosure
Camarray Stereo Camera HAT
The Camarray Stereo Camera HAT is the successor of the Arducam Synchronized Stereo Camera HAT. Compare to its predecessor, the Camarray Stereo Camera HAT mainly undergoes 4 major upgrades:
- The Native Mode now combines squeezed images instead of cropped images – No FoV lose.
- Support of the Arducam 12MP IMX477 High Quality Camera – Higher Resolution
- Easier global shutter camera integration – Such as OV9281 and OV2311.
- Support variable baseline with specific modified camera modules – Such as modified IMX477 and OV9281
With the release of the Camarray, the previous products based on the Arducam Synchronized Stereo Camera HAT will phase out. Later, the newly shipped 5MP and 8MP stereo bundles will incorporate the Camarray Stereo Camarray HAT.
Camarray Quad Camera HAT
The Camarray Quad Camera HAT fully unlocks the potential of the Camarray solution and allows for up to 4 camera module simultaneously connected to your RPi or Jetson board. Currently, we offer the OV9281 1MP*4 quadroscopic stereo bundle kit for your prototyping and evaluation.
This bundle kit includes 4x 1MP OV9281 monochrome global shutter cameras and a Camarray HAT. The HAT first merges 4 camera images into a single side by side image, and then output through a 2-lane MIPI interface. The overall streaming performance can reach (1280×4)[email protected], with further customization using 4-lane MIPI output, the throughput could be doubled, at (1280×4)[email protected]
With one Camarray Quad Camera HAT, you can connect 4 cameras to a single MIPI CSI connector on regular Raspberry pi boards. While using two of these HATs, you can connect 8 cameras to a Raspberry pi Compute Module, Jetson Nano B01, or Jetson Xavier NX boards. Using this setup, users can perform multi-spectral or spatial 3d reconstruction applications on a single embedded device, but the processing power needs to be considered as well. The bundle kit is useful for fast prototyping and proof of concept. Further customization for particular sensors or lens options is also supported.
Camarray customization Services
Since the Camarray solution is flexible and easy to integrate, we are glad to customize this solution and make it tailored to your specific needs. Whether you think our prototype products do not cover your needs, or find it well fit after proof-of-concept and want us to help you build a real product, we welcome you to contact Arducam experts for further customization with a different sensor, lens options, and more.
Coming Next: Quad IMX219 Bundle Kit enabled by Arducam libcamera driver
Chosen as the image sensor of the Raspberry Pi Camera Module V2, the IMX219 is popular among the embedded camera community. We have received feedback from our customers that they like this sensor and would like to use multiple of them in their applications.
Arducam is making this possible, and we are working on a libcamera driver that can support full video input of 4 IMX219 camera modules. Stay tuned for more surprises.
Get the Camarray Solution
You can find more information about the Arducam Camarray and how to get your own kit on the Arducam Camarray solution page.